Flow Service API を使用した SFTP ベース接続の作成

ベース接続は、ソースと Adobe Experience Platform 間の認証済み接続を表します。

このチュートリアルでは、Flow Service API を使用して SFTP (セキュアファイル転送プロトコル)のベース接続を作成する手順について説明します。

はじめに

このガイドでは、Adobe Experience Platform の次のコンポーネントに関する十分な知識が必要です。

  • ソース:Experience Platform を使用すると、様々なソースからデータを取得しながら、Platform サービスを使用して受信データの構造化、ラベル付け、拡張を行うことができます。
  • サンドボックス:Experience Platform には、単一の Platform インスタンスを別々の仮想環境に分割し、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスが用意されています。
IMPORTANT
SFTP ソース接続を持つ JSON オブジェクトを取り込む場合は、改行や改行を避けることをお勧めします。 この制限を回避するには、1 行に 1 つの JSON オブジェクトを使用し、複数の行を使用してファイルを送信します。

次の節では、Flow Service API を使用して SFTP サーバーに正常に接続するために必要な追加情報を示しています。

必要な資格情報の収集

Flow Service を SFTP に接続するには、次の接続プロパティの値を指定する必要があります。

資格情報
説明
host
SFTP サーバーに関連付けられた名前または IP アドレス。
port
接続先の SFTP サーバーポート。 指定しない場合、値はデフォルトで 22 になります。
username
SFTP サーバーにアクセスできるユーザー名。
password
SFTP サーバーのパスワード。
privateKeyContent
Base64 でエンコードされた SSH 秘密鍵のコンテンツ。 OpenSSH キーのタイプは、RSA または DSA のいずれかに分類する必要があります。
passPhrase
キーファイルまたはキーの内容がパスフレーズによって保護されている場合に秘密鍵を復号化するためのパスフレーズまたはパスワード。 privateKeyContent がパスワードで保護されている場合、このパラメーターは秘密鍵のコンテンツのパスフレーズを値として使用する必要があります。
maxConcurrentConnections
このパラメーターを使用すると、SFTP サーバーへの接続時に Platform が作成する同時接続数の上限を指定できます。 この値は、SFTP で設定された制限以下に設定する必要があります。 注意:既存の SFTP アカウントに対してこの設定が有効になっている場合、既存のデータフローではなく、今後のデータフローにのみ影響します。
folderPath
アクセス権を付与するフォルダーへのパス。 ソース SFTP、フォルダーパスを指定して、選択したサブフォルダーへのユーザーアクセスを指定できます。
connectionSpec.id
接続仕様は、ベース接続とソース接続の作成に関連する認証仕様などの、ソースのコネクタプロパティを返します。SFTP の接続仕様 ID は b7bf2577-4520-42c9-bae9-cad01560f7bc です。

Platform API の使用

Platform API への呼び出しを正常に実行する方法について詳しくは、Platform API の概要を参照してください。

ベース接続の作成

TIP
作成した後は、SFTP ベース接続の認証タイプを変更できません。 認証タイプを変更するには、新しいベース接続を作成する必要があります。

ベース接続は、ソースと Platform 間の情報(ソースの認証資格情報、現在の接続状態、固有のベース接続 ID など)を保持します。ベース接続 ID により、ソース内からファイルを参照および移動し、データタイプやフォーマットに関する情報を含む、取り込みたい特定の項目を識別することができます。

SFTP ソースは、基本認証と SSH 公開鍵を使用した認証の両方をサポートしています。 この手順では、アクセス権を付与するサブフォルダーへのパスを指定することもできます。

ベース接続 ID を作成するには、/connections エンドポイントに POST リクエストを実行し、SFTP 認証資格情報をリクエストパラメーターの一部として使用します。

IMPORTANT
SFTP コネクタは、RSA または DSA タイプの OpenSSH キーをサポートしています。 主要なファイルの内容が "-----BEGIN [RSA/DSA] PRIVATE KEY-----" で始まり、"-----END [RSA/DSA] PRIVATE KEY-----" で終わることを確認してください。 秘密鍵ファイルが PPK 形式のファイルの場合は、PuTTY ツールを使用して、PPK 形式から OpenSSH 形式に変換します。

API 形式

POST /connections
基本認証
accordion
リクエスト
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d  '{
      "name": "SFTP connector with password",
      "description": "SFTP connector password",
      "auth": {
          "specName": "Basic Authentication for sftp",
          "params": {
              "host": "{HOST}",
              "port": 22,
              "userName": "{USERNAME}",
              "password": "{PASSWORD}",
              "maxConcurrentConnections": 5,
              "folderPath": "acme/business/customers/holidaySales"
          }
      },
      "connectionSpec": {
          "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
プロパティ 説明
auth.params.host SFTP サーバーのホスト名。
auth.params.port SFTP サーバーのポート。 この整数値のデフォルトは 22 です。
auth.params.username SFTP サーバーに関連付けられたユーザー名。
auth.params.password SFTP サーバーに関連付けられたパスワード。
auth.params.maxConcurrentConnections Platform を SFTP に接続する際に指定した同時接続の最大数。 有効にする場合、この値は 1 以上に設定する必要があります。
auth.params.folderPath アクセス権を付与するフォルダーへのパス。
connectionSpec.id SFTP サーバー接続仕様 ID:b7bf2577-4520-42c9-bae9-cad01560f7bc
accordion
応答

リクエストが成功した場合は、新しく作成した接続の一意の ID (id)が返されます。 この ID は、次のチュートリアルで SFTP サーバーを探索するために必要になります。

code language-json
{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}
SSH 公開鍵認証
accordion
リクエスト
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "SFTP connector with SSH authentication",
      "description": "SFTP connector with SSH authentication",
      "auth": {
          "specName": "SSH PublicKey Authentication for sftp",
          "params": {
              "host": "{HOST}",
              "port": 22,
              "userName": "{USERNAME}",
              "privateKeyContent": "{PRIVATE_KEY_CONTENT}",
              "passPhrase": "{PASSPHRASE}",
              "maxConcurrentConnections": 5,
              "folderPath": "acme/business/customers/holidaySales"
          }
      },
      "connectionSpec": {
          "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2
プロパティ 説明
auth.params.host SFTP サーバーのホスト名。
auth.params.port SFTP サーバーのポート。 この整数値のデフォルトは 22 です。
auth.params.username SFTP サーバーに関連付けられたユーザー名。
auth.params.privateKeyContent Base64 でエンコードされた SSH 秘密鍵のコンテンツ。 OpenSSH キーのタイプは、RSA または DSA のいずれかに分類する必要があります。
auth.params.passPhrase キーファイルまたはキーの内容がパスフレーズによって保護されている場合に秘密鍵を復号化するためのパスフレーズまたはパスワード。 PrivateKeyContent がパスワードで保護されている場合、このパラメーターは、PrivateKeyContent のパスフレーズを値として使用する必要があります。
auth.params.maxConcurrentConnections Platform を SFTP に接続する際に指定した同時接続の最大数。 有効にする場合、この値は 1 以上に設定する必要があります。
auth.params.folderPath アクセス権を付与するフォルダーへのパス。
connectionSpec.id SFTP サーバー接続仕様 ID: b7bf2577-4520-42c9-bae9-cad01560f7bc
accordion
応答

リクエストが成功した場合は、新しく作成した接続の一意の ID (id)が返されます。 この ID は、次のチュートリアルで SFTP サーバーを探索するために必要になります。

code language-json
{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}

次の手順

このチュートリアルでは、Flow Service API を使用して SFTP 接続を作成し、接続の一意の ID 値を取得しました。 この接続 ID を使用して Flow Service API を使用したクラウドストレージの調査を行うことができます。

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089