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

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

このチュートリアルでは、Flow Service API を使用して Amazon S3 (以下「S3」)のベース接続を作成する手順について説明します。

はじめに

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

  • ソース:Experience Platform を使用すると、データを様々なソースから取得しながら、Platform サービスを使用して受信データの構造化、ラベル付け、拡張を行うことができます。
  • サンドボックス:Experience Platform には、単一の Platform インスタンスを別々の仮想環境に分割して、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスが用意されています。

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

必要な資格情報の収集

Flow Service を S3 ストレージに接続するには、次の接続プロパティの値を指定する必要があります。

資格情報
説明
s3AccessKey
S3 バケットのアクセスキー ID。
s3SecretKey
S3 バケットの秘密鍵 ID。
serviceUrl
(任意)接続先のカスタム S3 エンドポイント。 S3 バケットが地域に固有の場合、このフィールドは必須です。 serviceUrl の形式は https://s3.{REGION}.amazonaws.com/) です。
bucketName
S3 バケットには、データと、それに対応する説明メタデータが含まれています。 S3 バケット名は、3 ~ 63 文字の長さで、先頭と末尾は文字または数字にする必要があります。 バケット名には小文字、数字、ハイフン (-)のみを使用でき、IP アドレスとしてフォーマットすることはできません。
folderPath
データが格納されている S3 バケット内のフォルダーへのパス。 この資格情報は、ユーザーがアクセスを制限している場合に必要です。
s3SessionToken
(オプション)信頼できない環境のユーザーに S3 リソースへの一時的なアクセスを提供できる、短期間の一時的なトークン。 詳しくは、S3 概要を参照してください。
connectionSpec.id
接続仕様は、ベース接続とソース接続の作成に関連する認証仕様などの、ソースのコネクタプロパティを返します。S3 の接続仕様 ID は ecadc60c-7455-4d87-84dc-2a0e293d997b です。

基本について詳しくは、 このドキュメント Amazon Web Services を参照してくだい。

Platform API の使用

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

ベース接続の作成

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

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

API 形式

POST /connections

リクエスト

次のリクエストは、S3 のベース接続を作成します。

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": "Amazon S3 base connection",
        "description": "Amazon S3 base connection with temporary session token",
        "auth": {
            "specName": "Access Key",
            "params": {
                "s3AccessKey": "{S3_ACCESS_KEY}",
                "s3SecretKey": "{S3_SECRET_KEY}",
                "s3SessionToken": "{S3_SESSION_TOKEN}
            }
        },
        "connectionSpec": {
            "id": "ecadc60c-7455-4d87-84dc-2a0e293d997b",
            "version": "1.0"
        }
    }'
プロパティ
説明
auth.params.s3AccessKey
S3 バケットに関連付けられたアクセスキー。
auth.params.s3SecretKey
S3 バケットに関連付けられた秘密鍵。
auth.params.s3SessionToken
(任意) バケットへのアクセスに使用する短期間の一時的な S3 トークン。
connectionSpec.id
S3 接続仕様 ID:ecadc60c-7455-4d87-84dc-2a0e293d997b

応答

リクエストが成功した場合は、一意の ID(id)を含む、新しく作成した接続の詳細が返されます。この ID は、次のチュートリアルでストレージを調査するために必要になります。

{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

次の手順

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

付録

次の節では、S3 ソースの使用に関する追加情報を示します。

S3 セッショントークンの更新

s3SessionToken は一時的なもので、有効期限が切れたら更新する必要があります。 API にセッションリクエストを実行することで、ベースPATCHに関連付けられたセッショントークン Flow Service 更新できます。 S3 の一時的セキュリティ資格情報について詳しくは、S3 概要を参照してください。

IMPORTANT
If-Match ヘッダーは、PATCH リクエストを行う際に必要です。このヘッダーの値は、更新する接続の一意の etag です。

API 形式

PATCH /connections

リクエスト

次のリクエストは、S3 のベース接続を作成します。

curl -X PATCH \
    'https://platform.adobe.io/data/foundation/flowservice/connections/4cb0c374-d3bb-4557-b139-5712880adc55' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'If-Match: "1700d77b-0000-0200-0000-5e3b41a10000"'
    -d '[
        {
            "op": "replace",
            "path": "/auth/params/s3SessionToken",
            "value": "{SESSION_TOKEN}"
        }
    ]'
パラメーター
説明
op
接続の更新に必要なアクションを定義するために使用される操作呼び出し。操作には、addreplaceremove があります。
path
更新するパラメーターのパス。
value
パラメーターの更新に使用する新しい値。

応答

正常な応答では、ベース接続 ID と更新された etag が返されます。Flow Service API に GET リクエストを実行し、その際に接続 ID を指定することで、更新を検証できます。

{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"3600e378-0000-0200-0000-5f40212f0000\""
}
recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089