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

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

このウォークスルーでは、新規レコードの挿入、ジョブのデータのアップロード、状況の確認、結果の取得を行うジョブを作成する手順を説明します。
  • このウォークスルーのすべての手順を一読してください。このドキュメントの残りを確認して、Bulk API 2.0 コールの概要と概念を把握しておくこともお勧めします。
  • ワークベンチに習熟します。このウォークスルーではワークベンチを使用して Bulk API 2.0 コールを発行しますが、REST 要求を実行できる任意のツールや開発環境を使用することもできます。
  1. CSV 形式のデータまたはファイルを準備します。

    このウォークスルーでは、次の CSV 形式の取引先のリストをコピーして、手順 3 で説明するリクエストボディに貼り付けます。CSV 形式のデータの最初の行には、処理するオブジェクトの項目名をリストします。それ以降の行は、挿入するレコードに対応します。

    1Name,ShippingCity,NumberOfEmployees,AnnualRevenue,Website,Description
    2Garth Halfacre,Milano,2676,912260031,https://ft.com/lacus/at.jsp,"Lorem ipsum dolor sit amet"
    3Francesca Braxton,Bodø,141603,896852810,http://webs.com/in/faucibus/orci/luctus/et/ultrices/posuere.json,"consectetur adipiscing elit"
    4Angeles Urbain,Aykol,197724,257060529,http://odnoklassniki.ru/sapien.aspx,"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
    5Madaline Neubert,Xukou,190305,71664061,https://blogs.com/faucibus/orci/luctus/et/ultrices/posuere/cubilia.json,"Ut enim ad minim veniam"
    6Shandra Weatherly,Varadero,121802,58284123,http://timesonline.co.uk/eu/magna.html,"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat"
    7Lesli Lebowitz,Hengdaohezi,190944,164329406,http://washingtonpost.com/vestibulum/proin/eu/mi/nulla/ac/enim.png,"Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur"
    8Nan Stach,Quintães,80285,684173825,http://amazon.co.uk/potenti/cras/in/purus/eu.png,"Excepteur sint occaecat cupidatat non proident"

    挿入するレコードを含む CSV ファイルを作成し、Postman などの API クライアントソフトウェアを使用してそのファイルを指定することもできます。CSV ファイルの最初の行には、処理するオブジェクトの項目名をリストします。それ以降の行は、挿入するレコードに対応します。

  2. ジョブを作成します。

    レコードの挿入や更新など、Bulk API 2.0 タスクを実行するには、最初にジョブを作成します。ジョブでは、読み込むオブジェクトの種別 (Account など) を指定します。また、実行する操作 (挿入や削除など) も指定します。ジョブを作成したら、そのジョブの ID を Bulk API 2.0 要求で使用してジョブを終了または中止 (キャンセル) できます。

    1. ワークベンチで、組織にログインします。
    2. [Utilities (ユーティリティ)] | [REST Explorer] に移動します。Bulk API 2.0 を使用し、次の詳細を指定した POST 要求を発行してジョブを作成します。
      要求ヘッダー:
      1Content-Type: application/json; charset=UTF-8
      2Accept: application/json
      URI:
      1/services/data/vXX.X/jobs/ingest/
      リクエストボディ:
      1{
      2    "object" : "Account",
      3    "contentType" : "CSV",
      4    "operation" : "insert"
      5
      6}

      Account 以外のオブジェクトを挿入する場合は、リクエストボディの「Account」を、使用するオブジェクト名に置き換えてください。

      ジョブの状況が Open のジョブ ID を含む応答が返されます。このジョブ ID は、次のステップの Bulk API 2.0 コールで使用します。応答の contentUrl 項目の URL も、次のステップでデータをアップロードするときに使用します。

  3. CSV データをアップロードします。

    ジョブを作成したら、データをアップロードできます。前に作成した CSV 形式のデータまたはファイルを使用してレコードデータを指定します。

    ワークベンチの REST Explorer で、Bulk API 2.0 を使用し、CSV データを含むジョブデータ要求を作成します。次の詳細を指定して PUT 要求を発行します。

    要求ヘッダー:
    1Content-Type: text/csv
    2Accept: application/json
    URI:

    ステップ 1 の応答の contentUrl 項目に指定されている URI を使用します。この URI の形式は、次の例と似ています。

    1/services/data/vXX.X/jobs/ingest/jobId/batches/
    リクエストボディ:
    1(Content of your CSV file)

    リクエストボディを作成するには、(手順 1 で示した) CSV データをコピーしてワークベンチの [リクエストボディ] テキスト項目に貼り付けます。Bulk API 2.0 を使用して、(base64 エンコード後に) 合計サイズが 150 MB を超えない範囲で CSV データを送信できます。

    状況がまだ Open のジョブ ID を含む応答が返されます。PATCH を使用してジョブの状況を Aborted に設定すれば、この時点でジョブをキャンセルすることができます。

  4. アップロードが完了します。

    データの送信が完了したら、ジョブを終了して Salesforce にジョブの処理準備ができたことを伝達できます。

    ワークベンチの REST Explorer で、次の詳細を指定して PATCH 要求を発行します。

    要求ヘッダー:
    1Content-Type: application/json; charset=UTF-8
    2Accept: application/json
    URI:
    1/services/data/vXX.X/jobs/ingest/jobId/
    リクエストボディ:
    1{
    2    "state" : "UploadComplete"
    3}
  5. ジョブの状況と結果を確認します。

    全体的なジョブの状況や処理されたレコード数など、ジョブに関する基本的な状況情報を取得するには、次の詳細を指定した GET 要求を使用します。

    要求ヘッダー:
    1Content-Type: application/json; charset=UTF-8
    2Accept: application/json
    URI:
    1/services/data/vXX.X/jobs/ingest/jobId/

    ジョブが完了して、状況が JobComplete (または Failed) になったら、次の詳細を指定して GET 要求を発行し、正常に処理されたジョブデータレコードの詳細を取得できます。

    要求ヘッダー:
    1Content-Type: application/json; charset=UTF-8
    2Accept: text/csv
    1/services/data/vXX.X/jobs/ingest/jobId/successfulResults/

    CSV データを含む応答が返されます。各行にはレコード ID とレコードが正常に処理されたかどうかに関する情報が含まれます。処理中にエラーが発生したレコードの詳細を取得するには、successfulResults リソースではなく failedResults リソースを指定した GET 要求を使用します。