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

ステップ 5: 一括更新/挿入

この Bulk API 2.0 の例では、ジョブの作成、ジョブデータのアップロード、Salesforce サーバーへのアップロード完了の通知、状況の確認、および結果の取得の手順について説明します。存在しているレコード (更新) もあれば、新規のレコード (挿入) もあります。
  1. オブジェクトが外部 ID 項目を使用していることを確認します。

    レコードを更新/挿入するには、ジョブに含まれるオブジェクトに外部 ID 項目が必要です。Bulk API 2.0 は、レコードが既存レコードの更新とレコードの作成のどちらに使用されるかを外部 ID 項目を使用して判断します。

    この例では、外部 ID 項目 customExtIdField__cAccount オブジェクトに追加されているものと想定します。
    オブジェクトマネージャーでこのカスタム項目を組織に追加するには、次のプロパティを使用します。
    • データ型 — text
    • 項目表示ラベル — customExtIdField
    • [外部 ID] を選択します
    詳細は、Salesforce ヘルプ「カスタム項目の作成」を参照してください。
  2. 更新/挿入するレコードを含む CSV ファイルを作成します。

    この例のすべてのファイルをターミナルの現行の作業ディレクトリに保存します。

    メモ

    CSV ファイルの最初の行には、処理するオブジェクトの項目名をリストします。それ以降の行は、挿入するレコードに対応します。

    CSV ファイル内の 1 列は、外部 ID 項目 customExtIdField__c に対応している必要があります。

    使用可能な区切り文字や有効な日時形式など、CSV ファイルの準備については、「Bulk API 2.0 取り込み」を参照してください。

    この例では、次の情報を accountupsert.csv という名前のファイルにコピーします。

  3. 外部 ID 項目を含むジョブを作成します。

    次の情報を newupsertjob.json という名前のファイルにコピーします。

    URI

    一括更新/挿入ジョブの作成例

    レスポンスボディの例

    応答にはジョブ ID が含まれており、ジョブの状態として Open が示されています。ジョブ ID と contentUrl 項目の URL は、次のステップでデータをアップロードするときに使用します。

  4. 作成した CSV データファイルをアップロードします。

    URI

    便宜上、ステップ 1 での応答の contentUrl 項目の URI を使用します。URI は次のようになります。

    データのアップロード例

    レスポンスボディの例

    レスポンスボディは返されません。

  5. stateUploadComplete に設定します。

    データの送信が完了したら、ジョブデータのアップロードが完了し、処理できる状態になったことを Salesforce サーバーに通知します。

    upload_complete.json という名前の JSON ファイルを作成し、次の内容を含めます。

    URI

    /services/data/v60.0/jobs/ingest/jobId/

    stateUploadComplete に設定する例

    レスポンスボディの例

  6. 成功の結果を取得します。

    ジョブの状態が JobComplete または Failed になったら、どのジョブデータレコードが正常に処理されたかについての詳細を取得できます。

    URI

    成功の結果の取得例

    応答には CSV 形式のデータが含まれており、各行には正常に処理されたレコードのレコード ID が入っています。

    レスポンスボディの例

    エラーが発生したレコードの詳細を取得するには、failedResults リソースを使用します。完全な結果セットを参照していることを確認するには、unprocessedRecords リソースを使用します。「ジョブ未処理レコードの結果の取得」を参照してください。