バッチデータの取得
このレッスンでは、さまざまな方法でバッチ データをExperience Platformに取り込みます。
バッチデータ取り込みでは、大量のデータを一度にAdobe Experience Platformに取り込むことができます。 Platform のインターフェイス内または API を使用して、1 回だけアップロードでバッチデータを取り込むことができます。 Source コネクタを使用して、クラウドストレージサービスなどのサードパーティサービスから、定期的にスケジュールされたバッチアップロードを設定することもできます。
データエンジニア は、このチュートリアル以外でバッチデータを取り込む必要があります。
演習を開始する前に、この短いビデオを視聴してデータ取り込みの詳細を確認してください。
必要な権限
権限の設定レッスンでは、このレッスンを完了するために必要なすべてのアクセス制御を設定します。
ソースの演習では、(S) FTP サーバーまたはクラウドストレージソリューションにアクセスする必要があります。 対応策がない場合は、次の手順に従います。
Platform ユーザーインターフェイスを使用したデータのバッチ取り込み
データは、JSON および parquet 形式で、データセット画面のデータセットに直接アップロードできます。 これは、を作成した後に、一部のデータの取り込みをテストする優れた方法です。
データのダウンロードと準備
最初に、サンプルデータを取得して、テナントに合わせてカスタマイズします。
-
luma-data.zip を Luma チュートリアルAssets フォルダーにダウンロードします。
-
ファイルを解凍し、
luma-data
というフォルダーを作成します。このフォルダーには、このレッスンで使用する 4 つのデータファイルが含まれています -
テキストエディターで
luma-loyalty.json
を開き、_techmarketingdemos
のすべてのインスタンスを、独自のスキーマのように、独自のアンダースコア – テナント ID に置き換えます。
-
更新したファイルを保存します
データの取り込み
-
Platform ユーザーインターフェイスの左側のナビゲーションで データセット を選択します
-
Luma Loyalty Dataset
を開きます -
下にスクロールして、右側の列に データの追加 セクションを表示します
-
luma-loyalty.json
ファイルをアップロードします。 -
ファイルがアップロードされると、バッチの行が表示されます
-
数分後にページを再読み込みすると、1,000 件のレコードと 1,000 件のプロファイルフラグメントを含むバッチが正常にアップロードされたことがわかります。
データの検証
データが正常に取り込まれたことを確認する方法はいくつかあります。
Platform ユーザーインターフェイスでの検証
データがデータセットに取り込まれたことを確認するには、次の手順を実行します。
-
データを取り込んだのと同じページで、右上の「データセットをプレビュー」ボタンを選択します
-
「プレビュー」ボタンを選択すると、取り込んだデータの一部が表示されます。
データがプロファイルに格納されたことを確認するには、次の手順を実行します(データが格納されるまで数分かかる場合があります)。
- 左側のナビゲーションの プロファイル に移動します
- ID 名前空間を選択 フィールドの横にあるアイコンを選択して、モーダルを開きます
Luma Loyalty Id
名前空間を選択- 次に、データセットから
loyaltyId
のいずれかの値を入力します5625458
- 表示 を選択します。
データ取り込みイベントを使用した検証
前のレッスンでデータ取り込みイベントを購読している場合は、一意の webhook.site URL を確認します。 3 つのリクエストが次の順序で表示され、その間に時間が置かれ、次の eventCode
値が表示されます。
ing_load_success
– 取り込まれたバッチig_load_success
- バッチが ID グラフに取り込まれましたps_load_success
- バッチがプロファイルサービスに取り込まれました
通知について詳しくは、 ドキュメントを参照してください。
Platform API を使用したデータのバッチ取り込み
次に、API を使用してデータをアップロードします。
データのダウンロードと準備
- luma-data.zip を既にダウンロードして、
Luma Tutorial Assets
フォルダーに解凍している必要があります。 - テキストエディターで
luma-crm.json
を開き、_techmarketingdemos
のすべてのインスタンスを、スキーマに表示される独自のアンダースコア – テナント id に置き換えます - 更新したファイルを保存します
データセット ID の取得
まず、データを取り込むデータセットのデータセット ID を取得します。
- Open Postman
- アクセストークンがない場合は、Postman のレッスンと同様に、リクエスト OAuth: Request Access Token を開き、「送信」を選択して新しいアクセストークンをリクエストします。
- 環境変数を開き、CONTAINER_ID の値がまだ
tenant
であることを確認します - リクエスト Catalog Service API > Datasets > Retrieve a list of datasets. を開き、「送信」を選択します。
200 OK
しい応答が返されます- 応答本文から
Luma CRM Dataset
の ID をコピーします
バッチの作成
これで、データセットにバッチを作成できます。
-
データ取得 API.postman_collection.json を
Luma Tutorial Assets
フォルダーにダウンロードします -
コレクションの Postman への読み込み
-
リクエスト Data Ingestion API > Batch Ingestion > Create a new batch in Catalog Service. を選択
-
次をリクエストの 本文 として貼り付けます。datasetId の値を独自の値に置き換えます。
code language-json { "datasetId":"REPLACE_WITH_YOUR_OWN_DATASETID", "inputFormat": { "format": "json" } }
-
「送信 ボタンを選択します
-
新しいバッチの ID を含んだ、201 Created レスポンスが得られます。
-
新しいバッチの
id
をコピー
データの取り込み
データをバッチにアップロードできるようになりました。
-
リクエスト Data Ingestion API > Batch Ingestion > Upload a file to a dataset in a batch. を選択
-
「パラメーター」タブで、データセット ID とバッチ ID をそれぞれのフィールドに入力します
-
「Params」タブで、filePath として
luma-crm.json
と入力します -
「本文」タブで「binary」オプションを選択します。
-
ダウンロードした
luma-crm.json
をローカルのLuma Tutorial Assets
フォルダーから選択します -
送信 を選択すると、応答本文に「1」が含まれる 200 OK の応答が返されます
この時点で、Platform ユーザーインターフェイスでバッチを見ると、「 読み込み中 」ステータスであることがわかります。
Batch API は複数のファイルをアップロードするためによく使用されるので、バッチが完了したら Platform に通知する必要があります。次の手順でこれを行います。
バッチの完了
バッチを完了する手順は、次のとおりです。
-
リクエスト Data Ingestion API > Batch Ingestion > Finish uploading a file to a dataset in a batch. を選択
-
「パラメーター」タブで、アクション として
COMPLETE
と入力します -
「パラメーター」タブで、バッチ ID を入力します。 データセット ID や filePath (存在する場合)について心配する必要はありません。
-
POSTの URL が
https://platform.adobe.io/data/foundation/import/batches/:batchId?action=COMPLETE
であり、datasetId
またはfilePath
への不要な参照がないことを確認します -
送信 を選択すると、応答本文に「1」が含まれる 200 OK の応答が返されます
データの検証
Platform ユーザーインターフェイスでの検証
ロイヤルティデータセットの場合と同様に、データが Platform ユーザーインターフェイスに表示されたことを検証します。
まず、バッチが、1,000 件のレコードが取り込まれたことを示していることを確認します。
次に、データセットをプレビューを使用してバッチを確認します。
最後に、Luma CRM Id
名前空間でプロファイルの 1 つを検索して(例:112ca06ed53d3db37e4cea49cc45b71e
)、いずれかのプロファイルが作成されたことを確認します。
ちょうど今起こったことに関して、一つ興味深い点を指摘したい。 その Danny Wright
プロファイルを開きます。 プロファイルには、Lumacrmid
と Lumaloyaltyid
の両方があります。 Luma Loyalty Schema
には、Luma ロイヤルティ ID と CRM ID の 2 つの ID フィールドが含まれていることに注意してください。 両方のデータセットをアップロードしたので、単一のプロファイルに結合しました。 ロイヤルティデータには Daniel
が名で、自宅住所には「ニューヨーク市」が設定されているのに対して、CRM データには Danny
が名、Portland
が同じロイヤルティ ID を持つ顧客の自宅住所として設定されています。 最初の名前が結合ポリシーのレッスンで Danny
と表示される理由に戻ります。
プロファイルが結合されました。
データ取り込みイベントを使用した検証
前のレッスンでデータ取り込みイベントを購読している場合は、一意の webhook.site URL を確認します。 ロイヤルティデータと同様に、次の 3 つのリクエストが送信されます。
通知について詳しくは、 ドキュメントを参照してください。
ワークフローでのデータの取り込み
データをアップロードする別の方法を見てみましょう。 ワークフロー機能を使用すると、XDM でまだモデル化されていない CSV データを取り込むことができます。
データのダウンロードと準備
- luma-data.zip を既にダウンロードして、
Luma Tutorial Assets
フォルダーに解凍している必要があります。 - 次の確認を行います
luma-products.csv
ワークフローの作成
次に、ワークフローを設定します。
- 左側のナビゲーションで ワークフロー に移動します
- 「CSV を XDM スキーマにマッピング」を選択し、「起動」ボタンを選択します
Luma Product Catalog Dataset
を選択し、「次へ ボタンを選択します
- ダウンロードした
luma-products.csv
ファイルを追加し、「次へ」ボタンを選択します
- マッパーインターフェイスが表示され、ソースデータ(
luma-products.csv
ファイル内の列名の 1 つ)からターゲットスキーマの XDM フィールドにフィールドをマッピングできます。 この例では、列名はスキーマフィールド名に十分に近く、マッパーは適切なマッピングを自動検出できます。 マッパーが適切なフィールドを自動検出できなかった場合は、ターゲットフィールドの右側にあるアイコンを選択して、正しい XDM フィールドを選択します。 また、CSV から列の 1 つを取り込まない場合は、マッパーから行を削除できます。 マッパーの仕組みを理解するために、luma-products.csv
の列見出しを変更したり、自由に再生したりできます。 - 「終了」ボタンを選択します
データの検証
バッチがアップロードされたら、データセットをプレビューして、アップロードを確認します。
Luma Product SKU
は非人物の名前空間なので、製品 SKU のプロファイルは表示されません。
Webhook に 3 つのヒットが表示されます。
ソースを含むデータの取り込み
まあ、君は物事を難しい方法でやった。 次に、約束された 自動バッチ取り込み の国に進みましょう。 私が「設定」と言うとき、 あなたは「忘れなさい」と言うでしょう。 「始めて!」 「忘れろ!」 「始めて!」 「忘れろ!」 冗談よ、そんなこと、絶対にしないわよ。 はい、仕事に戻りなさい。 もうすぐ終わりです。
左側のナビゲーションで ソース に移動し、ソースカタログを開きます。 ここでは、業界をリードするデータおよびストレージプロバイダーとの様々な標準搭載の統合を確認できます。
では、ソースコネクタを使用してデータを取り込みましょう。
この演習は、自分の冒険スタイルを選択します。 FTP ソースコネクタを使用したワークフローを表示します。 会社で使用している別のクラウドストレージソースコネクタを使用するか、ロイヤルティデータと同様に、データセット ユーザーインターフェイスを使用して json ファイルをアップロードできます。
多くのソースには同様の設定ワークフローがあり、次のような特徴があります。
- 認証詳細を入力
- 取得するデータを選択します
- 取り込み先の Platform データセットを選択します
- フィールドを XDM スキーマにマッピングします
- その場所からデータを取得する頻度を選択します
データをダウンロード、準備、目的のクラウドストレージベンダーにアップロードします。
- luma-data.zip を既にダウンロードして、
Luma Tutorial Assets
フォルダーに解凍している必要があります。 - テキストエディターで
luma-offline-purchases.json
を開き、_techmarketingdemos
のすべてのインスタンスを、スキーマに表示される独自のアンダースコア – テナント id に置き換えます - 先月にイベントが発生するようにすべてのタイムスタンプを更新します(例えば、
"timestamp":"2022-06
を検索して年と月を置き換える) - ソース カタログで使用できることを確認して、希望するクラウドストレージプロバイダーを選択します
luma-offline-purchases.json
を希望のクラウドストレージプロバイダーの場所にアップロードします
目的のクラウドストレージの場所にデータを取り込みます
-
Platform ユーザーインターフェイスで、Sources カタログを Cloud Storage にフィルタリングします
-
...
の下にはドキュメントへの便利なリンクがあります -
目的のクラウドストレージベンダーのボックスで、「設定」ボタンを選択します
-
認証 は最初の手順です。 アカウントの名前(
Luma's FTP Account
や認証の詳細など)を入力します。 この手順は、すべてのクラウドストレージソースでほぼ同じですが、フィールドが若干異なる場合があります。 アカウントの認証の詳細を入力したら、同じアカウント内の他のファイルから異なるスケジュールで異なるデータを送信している可能性のある他のソース接続に対して、その詳細を再利用できます -
「ソースに接続」ボタンを選択します。
-
Platform がSourceに正常に接続されたら、「次へ」ボタンを選択します
-
データを選択 手順で、ユーザーインターフェイスは資格情報を使用してクラウドストレージソリューション上のフォルダーを開きます
-
取り込むファイルを選択します(例:
luma-offline-purchases.json
)。 -
データ形式 として、「
XDM JSON
」を選択します -
その後、ファイルで JSON 構造とサンプルデータをプレビューできます
-
「次へ」ボタンを選択します
-
マッピング ステップで、
Luma Offline Purchase Events Dataset
を選択して「次へ」ボタンを選択します。 のメッセージでは、取り込むデータは JSON ファイルなので、ソースフィールドをターゲットフィールドにマッピングするマッピング手順はありません。 JSON データは、既に XDM 内にある必要があります。 CSV を取り込む場合、この手順の完全なマッピングユーザーインターフェイスが表示されます。
-
スケジュール ステップでは、Sourceからデータを取り込む頻度を選択します。 オプションを確認してください。 1 回限りの取り込みを行うので、Frequency を Once のままにして、「次へ」ボタンを選択します。
-
データフローの詳細 ステップでは、データフローの名前の選択、オプションの説明の入力、エラー診断のオン、部分取り込みを行うことができます。 設定をそのままにし、「次へ ボタンを選択します。
-
レビュー ステップでは、すべての設定をまとめて確認し、編集するか、「完了」ボタンを選択できます
-
保存後、次のような画面が表示されます。
データの検証
バッチがアップロードされたら、データセットをプレビューして、アップロードを確認します。
Webhook に 3 つのヒットが表示されます。
loyaltyId
名前空間で値 5625458
のプロファイルを再度検索して、プロファイルに購入イベントがあるかどうかを確認します。 1 つの購入が表示されます。 JSON を表示 を選択して、購入の詳細を調べることができます。
ETL ツール
Adobeは、複数の ETL ベンダーと提携して、Experience Platformへのデータ取り込みをサポートしています。 このチュートリアルでは、様々なサードパーティ・ベンダーにより ETL が取り上げられていますが、これらのリソースの一部を確認することは可能です。
その他のリソース
次に、Web SDK を使用してデータを ストリーミングしましょう