バッチデータの取得

このレッスンでは、様々な方法を使用してバッチデータをExperience Platformに取り込みます。

バッチデータ取り込みを使用すると、大量のデータをAdobe Experience Platformに一度に取り込むことができます。 Platformのインターフェイス内またはAPIを使用して、1回のアップロードでバッチデータを取り込むことができます。 ソースコネクタを使用して、クラウドストレージサービスなどのサードパーティサービスから、定期的にスケジュールされるバッチアップロードを設定することもできます。

データエ ンジニアは、このチュートリアルの外部でバッチデータを取り込む必要があります。

この演習を始める前に、次の短いビデオを見て、データ取得の詳細を確認してください。

必要な権限

権限の設定」レッスンでは、このレッスンを完了するために必要なすべてのアクセス制御を設定します。具体的には、次の操作を行います。

  • 権限項目​データ管理 > データセットの表示データセットの管理​および​データ監視
  • 権限項目​データ取得 > ソースの表示​と​ソースの管理
  • 権限項目​プロファイル管理 > プロファイルの表示
  • 権限項目​サンドボックス > Luma Tutorial
  • Luma Tutorial Platform製品プロファイルへのユーザーロールアクセス
  • Luma Tutorial Platform製品プロファイルへの開発者ロールのアクセス(API用)

さらに、ソースの演習では、(S)FTPサーバーまたはクラウドストレージソリューションにアクセスする必要があります。

Platform UIを使用したバッチでのデータの取得

データは、JSONおよびParquet形式でデータセット画面上のデータセットに直接アップロードできます。

データのダウンロードと準備

まず、サンプルデータを取得し、テナント用にカスタマイズします。

  1. luma-data.zipを​Luma Tutorial Assets​フォルダーにダウンロードします。

  2. ファイルを解凍し、このレッスンで使用する4つのデータファイルを含むluma-dataというフォルダーを作成します。

  3. テキストエディターでluma-loyalty.jsonを開き、独自のスキーマに示すように、 _techmarketingdemosのすべてのインスタンスを独自のアンダースコアテナントIDに置き換えます。
    アンダースコアテナントID

  4. 更新したファイルを保存します。

データの取り込み

  1. Platform UIで、左側のナビゲーションで「データセット」をクリックします。

  2. Luma Loyalty Datasetをクリックします。

  3. 右列に「データを追加」セクションが表示されるまで下にスクロールします。

  4. luma-loyalty.jsonファイルをアップロードします。

  5. ファイルのアップロード後、バッチの行が表示されます

  6. 数分後にページを再読み込みすると、バッチが1,000件のレコードと1,000件のプロファイルフラグメントを正常にアップロードしたことがわかります。

    取得

メモ

このレッスンの様々な画面に表示される​エラー診断​と​部分取得​のオプションがいくつかあります。 これらのオプションについては、このチュートリアルでは説明しません。 簡単な情報:

  • エラー診断を有効にすると、データの取り込みに関するデータが生成され、データアクセスAPIを使用して確認できます。 詳しくは、ドキュメントを参照してください。
  • 部分取得を使用すると、指定可能な特定のしきい値まで、エラーを含むデータを取り込むことができます。 詳しくは、ドキュメントを参照してください。

データの検証

データが正常に取り込まれたことを確認する方法はいくつかあります。

Platform UIでの検証

データがデータセットに取り込まれたことを確認するには:

  1. データを取得したページと同じページで、右上の「データセットのプレビュー」ボタンをクリックします

  2. プレビュー」ボタンをクリックすると、取り込んだデータの一部が表示されます。

    正常なデータセットのプレビュー

プロファイルにランディングしたデータを確認するには(データが到着するまで数分かかる場合があります):

  1. 左側のナビゲーションで「プロファイル」をクリックします。

  2. ID名前空間​を選択」フィールドの横にあるアイコンをクリックして、モーダルを開きます。

  3. Luma Loyalty Id名前空間を選択します

  4. データセットのloyaltyId値の1つを入力します(例: )。5625458

  5. 表示​をクリックします。

    データセットからのプロファイルの確認

データ取得イベントを使用した検証

前のレッスンでデータ取り込みイベントを購読した場合は、一意のwebhook.site URLを確認します。 3つのリクエストが次の順序で表示され、その間に次のeventCode値が入ります。

  1. ing_load_success — 取り込んだバッチ
  2. ig_load_success — バッチがIDグラフに取り込まれました。
  3. ps_load_success — バッチがプロファイルサービスに取り込まれました

データ取得Webhook

通知の詳細については、ドキュメントを参照してください。

Platform APIを使用したバッチでのデータの取得

次に、APIを使用してデータをアップロードします。

メモ

データアーキテクトは、今使用したUIメソッドを使用してCRMデータを自由にアップロードできます。

データのダウンロードと準備

  1. luma-data.zipを既にLuma Tutorial Assetsフォルダーにダウンロードして解凍しているはずです。
  2. テキストエディターでluma-crm.jsonを開き、スキーマで確認できるように、 _techmarketingdemosのすべてのインスタンスを、独自のアンダースコアテナントIDに置き換えます
  3. 更新したファイルを保存します。

データセットIDの取得

まず、データの取り込み先のデータセットのデータセットIDを取得する必要があります。

  1. Open Postman
  2. 過去24時間以内にを呼び出していない場合、認証トークンはおそらく期限切れです。 呼び出し​Adobe I/O Access Token Generation > Local Signing (Non-production use-only) > IMS: JWT Generate + Auth via User Token​を開き、 ​を送信」をクリックして、 Postmanのレッスンと同様に、新しいJWTおよびアクセストークンをリクエストします。
  3. 環境変数を開き、CONTAINER_ID​の値がtenantのままであることを確認します。
  4. 呼び出し​Catalog Service API > Datasets > Retrieve a list of datasets.​を開き、「送信」をクリックします。
  5. 200 OK応答が返されます
  6. 応答本文からLuma CRM DatasetのIDをコピーします。
    データセットIDの取得

バッチの作成

次に、データセット内にバッチを作成します。

  1. データ取得API.postman_collection.jsonLuma Tutorial Assetsフォルダーにダウンロードします。

  2. コレクションをPostmanに読み込みます。

  3. リクエスト​Data Ingestion API > Batch Ingestion > Create a new batch in Catalog Service.​を選択します

  4. 次をリクエストの​Body​として貼り付けます。datasetId値を独自の​に置き換えます。

    {
        "datasetId":"REPLACE_WITH_YOUR_OWN_DATASETID",
        "inputFormat": {
            "format": "json"
        }
    }
    
  5. 送信」ボタンをクリックします。

  6. 新しいバッチのIDを含む201作成済みの応答が返されます。

  7. 新しいバッチのidをコピーします。
    バッチ作成

データの取り込み

これで、データをバッチにアップロードできます。

  1. リクエスト​Data Ingestion API > Batch Ingestion > Upload a file to a dataset in a batch.​を選択します

  2. Params」タブで、データセットIDとバッチIDをそれぞれのフィールドに入力します

  3. Params」タブで、filePath​に「luma-crm.json」と入力します。

  4. ボディ」タブで、「バイナリ」オプションを選択します

  5. ローカルのLuma Tutorial Assetsフォルダーからダウンロードしたluma-crm.jsonを選択します

  6. 送信」をクリックすると、応答本文に「1」を含む200 OK応答が返されます

    アップロードされたデータ

この時点で、Platform UIでバッチを確認すると、「Loading」ステータスになっていることがわかります。
バッチ読み込み

Batch APIは多くの場合、複数のファイルのアップロードに使用されるので、バッチが完了したらPlatformに通知する必要があります。これは、次の手順でおこないます。

バッチの完了

バッチを完了するには:

  1. リクエスト​Data Ingestion API > Batch Ingestion > Finish uploading a file to a dataset in a batch.​を選択します

  2. Params」タブで、アクション​としてCOMPLETEと入力します。

  3. Params」タブに、バッチIDを入力します。 データセットIDやfilePathが存在する場合は、それらを気にしないでください。

  4. POSTのURLがhttps://platform.adobe.io/data/foundation/import/batches/:batchId?action=COMPLETEで、datasetIdまたはfilePathへの不要な参照がないことを確認します。

  5. 送信」をクリックすると、応答本文に「1」を含む200 OK応答が返されます

    バッチ完了

データの検証

Platform UIでの検証

Loyaltyデータセットと同じように、データがPlatform UIにランディングしたことを検証します。

最初に、バッチで、1000件のレコードが取り込まれたことを確認します。

バッチ成功

次に、プレビューデータセットを使用してバッチを確認します。

バッチプレビュー

最後に、Luma CRM Id名前空間(例:112ca06ed53d3db37e4cea49cc45b71e

取り込まれたプロファイル

私が指摘したいことが一つ起こった。 Danny Wrightプロファイルを開きます。 プロファイルにはLumacrmidLumaloyaltyidの両方が含まれます。 Luma Loyalty Schemaには、LumaロイヤルティIDとCRM IDの2つのIDフィールドが含まれていました。 両方のデータセットをアップロードしたので、1つのプロファイルに結合されました。 ロイヤルティデータの名はDaniel、自宅住所は「ニューヨーク市」で、CRMデータの名はDanny、同じロイヤルティIDを持つ顧客の自宅住所はPortlandでした。 結合ポリシーに関するレッスンで名がDanny表示される理由に戻ります。

プロファイルが結合されました。

結合されたプロファイル

データ取得イベントを使用した検証

前のレッスンでデータ取り込みイベントを購読した場合は、一意のwebhook.site URLを確認します。 ロイヤルティデータと同様に、3つのリクエストが返されます。

データ取得Webhook

通知の詳細については、ドキュメントを参照してください。

ワークフローを使用したデータの取り込み

別のデータアップロード方法を見てみましょう。 ワークフロー機能を使用すると、XDMでまだモデル化されていないCSVデータを取り込むことができます。

データのダウンロードと準備

  1. luma-data.zipを既にLuma Tutorial Assetsフォルダーにダウンロードして解凍しているはずです。
  2. luma-products.csvがあることを確認します。

ワークフローの作成

次に、ワークフローを設定します。

  1. 左側のナビゲーションで「ワークフロー」をクリックします。
  2. XDMスキーマにCSVをマッピング」を選択し、「​を起動」ボタンをクリックします
    ワークフローの起動
  3. Luma Product Catalog Datasetを選択し、「次へ」ボタンをクリックします
    データセットの選択
  4. ダウンロードしたluma-products.csvファイルを追加し、「次へ」ボタンをクリックします。
    データセットの選択
  5. これで、マッパーインターフェイスで、ソースデータ(luma-products.csvファイルの列名の1つ)からターゲットスキーマのXDMフィールドにフィールドをマップできます。 この例では、マッパーが適切なマッピングを自動検出できるスキーマフィールド名に列名が十分近くなっています。 マッパーが正しいフィールドを自動検出できなかった場合は、ターゲットフィールドの右側にあるアイコンをクリックして、正しいXDMフィールドを選択します。 また、CSVから列の1つを取り込まない場合は、マッパーから行を削除できます。 luma-products.csvの列見出しを自由に変更して、マッパーの動作を理解してください。
  6. 完了」ボタンをクリックします。
    データセットの選択

データの検証

バッチがアップロードされたら、データセットをプレビューしてアップロードを確認します。

Luma Product SKUは非ユーザー名前空間なので、製品SKUのプロファイルは表示されません。

Webhookに対する3つのヒットが表示されます。

ソースを含むデータの取り込み

大変なやり方をしたのね 次に、自動​バッチ取り込みの約束の場所に移りましょう。 「設定して!」 「忘れろ!」 「設定して!」 「忘れろ!」 「設定して!」 「忘れろ!」 冗談じゃない、そんなことは絶対にしない! はい、仕事に戻ります。 もう少しで終わりだ。

左側のナビゲーションで​ソース​をクリックして、ソースカタログを開きます。 ここでは、業界をリードするデータおよびストレージプロバイダーとの、すぐに使用できる様々な統合を示します。

ソースカタログ

ソースコネクタを使用してデータを取り込みます。

この練習は、自分の冒険スタイルを選ぶ。 FTPソースコネクタを使用したワークフローを示します。 会社で使用する別のクラウドストレージソースコネクタを使用することも、ロイヤルティデータと同様にデータセットUIを使用してjsonファイルをアップロードすることもできます。

多くのソースには同様の設定ワークフローがあり、次のような設定ワークフローがあります。

  1. 認証の詳細を入力します
  2. 取り込むデータの選択
  3. 取り込むPlatformデータセットを選択します。
  4. フィールドのXDMスキーマへのマッピング
  5. その場所からデータを再取り込みする頻度を選択します
メモ

この演習で使用するオフライン購入データには、日時データが含まれています。 日時データは、ISO 8061形式の文字列(「2018-07-10T15:05:59.000-08:00」)またはUnix時間形式のミリ秒(1531263959000)で、取得時にターゲットXDMタイプに変換する必要があります。 データ変換およびその他の制約について詳しくは、バッチ取得APIのドキュメントを参照してください。

データをダウンロード、準備、および目的のクラウドストレージベンダーにアップロードする

  1. luma-data.zipを既にLuma Tutorial Assetsフォルダーにダウンロードして解凍しているはずです。
  2. テキストエディターでluma-offline-purchases.jsonを開き、スキーマで確認できるように、 _techmarketingdemosのすべてのインスタンスを、独自のアンダースコアテナントIDに置き換えます
  3. 目的のクラウドストレージプロバイダーを選択し、Sourcesカタログで使用できることを確認します。
  4. luma-offline-purchases.jsonを目的のクラウドストレージプロバイダーの場所にアップロードします

目的のクラウドストレージの場所にデータを取り込む

  1. Platform UIで、Sourcesカタログを​Cloud storage​にフィルターします。

  2. ...の下のドキュメントへの便利なリンクがあることに注意してください。

  3. 目的のクラウドストレージベンダーのボックスで、「設定」ボタンをクリックします。
    「設定」をクリックします

  4. ​認証は、最初の手順です。アカウントの名前(例: )を入力します。Luma's FTP Accountと認証の詳細。 この手順は、すべてのクラウドストレージソースに対してほぼ同じですが、フィールドはわずかに異なる場合があります。 アカウントの認証の詳細を入力したら、同じアカウント内の他のファイルと異なるスケジュールで異なるデータを送信する他のソース接続に対して、それらを再利用できます

  5. 「ソースに接続」ボタン​をクリックします。

  6. Platformがソースに正常に接続されたら、「次へ」ボタンをクリックします
    ソースに対する認証

  7. データ​を選択の手順で、UIは資格情報を使用してクラウドストレージソリューション上のフォルダーを開きます

  8. 取り込むファイル(例: )を選択します。luma-offline-purchases.json

  9. データ形式」として、「XDM JSON」を選択します。

  10. その後、ファイル内のjson構造とサンプルデータをプレビューできます

  11. 次へ」ボタンをクリックします。
    データファイルを選択します

  12. マッピング​手順で、Luma Offline Purchase Event Datasetを選択し、「次へ」ボタンをクリックします。 取り込むデータはJSONファイルなので、ソースフィールドをターゲットフィールドにマッピングするマッピング手順はありません。 JSONデータは既にXDMに存在する必要があります。 CSVを取り込む場合は、この手順で完全マッピングUIが表示されます。
    データセットの選択

  13. スケジュール​手順で、ソースからデータを再取り込みする頻度を選択します。 少し時間を取って、オプションを確認します。 1回だけ取り込むので、1回​の​頻度​をそのままにして、「次へ」ボタンをクリックします。
    データフローのスケジュール設定

  14. データフローの詳細​手順で、データフローの名前を選択し、オプションの説明を入力し、エラー診断をオンにして、部分取得を有効にできます。 設定をそのままにし、「次へ」ボタンをクリックします。
    データフローの詳細の編集

  15. レビュー​の手順で、すべての設定をまとめてレビューし、編集するか、「完了」ボタンをクリックします

  16. 保存後、次のような画面が表示されます。
    Complete

データの検証

バッチがアップロードされたら、データセットをプレビューしてアップロードを確認します。

Webhookに対する3つのヒットが表示されます。

loyaltyId名前空間の値5625458でプロファイルを再度調べて、プロファイルに購入イベントがあるかどうかを確認します。 購入が1回表示されます。 「JSONを表示」をクリックして、購入の詳細を調べることができます。

プロファイルの購入イベント

ETLツール

Adobeは、複数のETLベンダーと提携し、Experience Platformへのデータ取り込みをサポートします。 様々なサードパーティベンダーのため、ETLについてはこのチュートリアルでは説明しませんが、以下のリソースの一部を確認することをお勧めします。

その他のリソース

次に、Web SDK🔗を使用してデータをストリーミングします

このページ