この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

一括挿入のウォークスルー

このウォークスルーでは、Bulk API を使用してレコードを読み込む手順について説明します。
開始する前に、取り込み API の設定に必要な前提条件を完了していることを確認します。
  • 取り込み API コネクタを設定する
  • データストリームを作成およびリリースする
  • 接続アプリケーションを設定する
  1. 定義したデータストリームに一致するデータを含む CSV ファイルを作成します。例: orders.csv
    1id,contact_name,created_date,tax_exempt,ship_address,total,tax_rate,modified_date
    2f19cae7e-5cdb-41ce-92ba-539afea04f9d,Jadyn Kozey,2021-07-22T08:57:08.118Z,false,9818 Walter Course Apt. 811,77506,84,2021-07-05T09:31:44.457Z
    348c8b6a6-8179-4a15-ba19-ec5c8206ce28,Kristina Jakubowski,2021-07-08T22:57:02.008Z,false,245 Schowalter Port Suite 245,16986,61,2021-07-03T06:20:52.886Z
  2. Salesforce CDP アクセストークンを要求します。トークン交換応答の access_token プロパティには、認証ヘッダーで使用するベアラートークンが含まれます。instance_url は、API をホストしている Salesforce CDP インスタンスです。
  3. データをアップロードするには、ジョブを作成します。この例では、ecomm 取り込み API コネクタから Orders データをアップロードします。レコードを削除する場合は、代わりに delete 操作を使用します。ジョブの状況が Open のジョブ ID を含む JSON 応答が返されます。このジョブ ID は次のステップで必要です。
    1curl --location --request POST 'https://{instance_url}/api/v1/ingest/jobs' \
    2--header 'Authorization: Bearer {access_token}' \
    3--header 'Content-Type: application/json' \
    4--data-raw '{
    5   "object":"Orders",
    6   "sourceName":"ecomm",
    7   "operation":"upsert"
    8}‘
    9{
    10   "object": "Order",
    11   "id": "913a8b00-7a9e-4331-aaf6-a019ae5021ab",
    12   "operation": "upsert",
    13   "sourceName": "ecomm_api",
    14   "createdById": "005R0000000zqc8IAA",
    15   "createdDate": "2021-08-12T17:06:42.921387Z",
    16   "systemModstamp": "2021-08-12T17:06:42.921387Z",
    17   "state": "Open",
    18   "contentType": "CSV",
    19   "apiVersion": "v1",
    20   "contentUrl": "/api/v1/ingest/jobs/913a8b00-7a9e-4331-aaf6-a019ae5021ab/batches"
    21}
  4. CSV データをアップロードします。ジョブを作成したら、データをアップロードできます。前に作成した CSV ファイルを使用してレコードデータを指定します。ジョブの一環として最大 100 個の CSV ファイルを送信できます。各ファイルは 150 MB を超えることはできません。
    1curl --location --request PUT 'https://{instance_url}/api/v1/ingest/jobs/913a8b00-7a9e-4331-aaf6-a019ae5021ab/batches
    2' \
    3--header 'Authorization: Bearer {access_token}' \
    4--header 'Content-Type: text/csv' \
    5--data-binary '@orders.csv'
    6< HTTP/1.1 201 Created
  5. アップロードが完了します。データの送信が完了したら、ジョブを終了して Salesforce CDP にジョブの処理準備ができたことを伝達できます。
    1curl -v --location --request PATCH 'https://{instance_url}/api/v1/ingest/jobs/913a8b00-7a9e-4331-aaf6-a019ae5021ab' \
    2--header 'Authorization: Bearer {access_token}' \
    3--header 'Content-Type: application/json' \
    4--data-raw '{
    5"state" : "UploadComplete"
    6}'
    7{
    8   "object": "Order",
    9   "id": "913a8b00-7a9e-4331-aaf6-a019ae5021ab",
    10   "operation": "upsert",
    11   "sourceName": "ecomm_api",
    12   "createdById": "005R0000000zqc8IAA",
    13   "createdDate": "2021-08-12T17:06:42.921387Z",
    14   "systemModstamp": "2021-08-12T17:36:42.921387Z",
    15   "state": "UploadComplete",
    16   "contentType": "CSV",
    17   "apiVersion": "v1",
    18   "contentUrl": "/api/v1/ingest/jobs/913a8b00-7a9e-4331-aaf6-a019ae5021ab/batches"
    19}
  6. ジョブの状況と結果を確認します。全体的なジョブの状況や処理されたレコード数など、ジョブに関する基本的な状況情報を取得するには、ジョブ情報の取得要求を使用します。ファイルがデータレイクに読み込まれるとジョブの状況は UploadComplete から JobComplete または Failed に変わります。
    1curl -v --location --request GET 'https://{instance_url}/api/v1/ingest/jobs/913a8b00-7a9e-4331-aaf6-a019ae5021ab' \
    2--header 'Authorization: Bearer {access_token}' \
    3{
    4   "object": "Order",
    5   "id": "913a8b00-7a9e-4331-aaf6-a019ae5021ab",
    6   "operation": "upsert",
    7   "sourceName": "GreasyConnector",
    8   "createdById": "005R0000000zqc8IAA",
    9   "createdDate": "2021-08-12T17:06:42.921387Z",
    10   "systemModstamp": "2021-08-12T18:06:42.921387Z",
    11   "state": "JobComplete",
    12   "contentType": "CSV",
    13   "apiVersion": "v1",
    14   "contentUrl": "/api/v1/ingest/jobs/913a8b00-7a9e-4331-aaf6-a019ae5021ab/batches",
    15   "retries": 0,
    16   "totalProcessingTime": 0
    17}