0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Salesforce Bulk API 2.0 実践ガイド - 大規模データ処理の効率化

Last updated at Posted at 2024-12-20

はじめに

Salesforceで大量のデータを扱う場合、通常のSOAP/REST APIでは処理に時間がかかり、タイムアウトの可能性も高くなります。そこで効果的な解決策となるのがBulk API 2.0です。この記事では、Bulk API 2.0の特徴から実装方法まで、図解を交えながらまとめました。

Bulk API 2.0の特徴

image.png

Bulk API 2.0には、以下のような特徴があります:

  • REST規則に基づいた設計で、直感的に使いやすい
  • 数千から数百万レコードの大規模データセット操作に最適化
  • 非同期処理による効率的なデータ処理
  • CSVフォーマットのサポート

従来のAPIとの比較

特徴 Bulk API 2.0 SOAP/REST API
処理方式 非同期 同期
適用ケース 大量データ処理 少数レコードのリアルタイム処理
処理単位 数千〜数百万レコード 少数レコード

実装手順

1. 初期設定

  1. Trailhead Playgroundへのログイン
  2. Postman Webアプリケーションの設定
  3. 認証トークンの取得
  4. 接続テスト

2. ジョブの作成と管理

POST /services/data/v57.0/jobs/ingest
Content-Type: application/json

{
    "operation": "insert",
    "object": "Account",
    "contentType": "CSV",
    "lineEnding": "LF"
}

3. データの追加

PUT /services/data/v57.0/jobs/ingest/{jobId}/batches
Content-Type: text/csv

Name,BillingCity,Phone
Acme Corp,東京,03-1234-5678

4. ジョブの完了処理

PATCH /services/data/v57.0/jobs/ingest/{jobId}
Content-Type: application/json

{
    "state": "UploadComplete"
}

ジョブ状態の管理

ジョブには以下の3つの主要な状態があります:

  1. Open: 初期状態。データ受信待機中
  2. UploadComplete: データアップロード完了、処理待機中
  3. JobComplete: 全処理完了、結果確認可能

image.png

モニタリング方法

モニタリングは以下の2つの方法で行えます:

  1. Salesforce UI経由

    • 設定画面から確認
    • 一括データ読み込みジョブの確認
  2. API経由

    • GETリクエストによる状態確認
    • 詳細情報の取得

エラー処理とトラブルシューティング

一般的なエラーと対処方法

  1. 必須項目の欠落

    • エラーログで該当フィールドを確認
    • データを修正して再実行
  2. 重複レコード

    • 重複ルールの確認
    • 必要に応じてデータのクレンジング
  3. データ形式の不一致

    • CSVフォーマットの確認
    • 文字コードやデリミタの調整

まとめ

image.png

Bulk API 2.0は、Salesforceでの大規模データ処理を効率化する強力なツールです。非同期処理と最適化された設計により、大量のレコードを効率的に処理できます。実装時は、適切なジョブ管理とエラー処理を行うことで、より信頼性の高いデータ処理が実現できます。

参考資料

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?