はじめに
Salesforceで大量のデータを扱う場合、通常のSOAP/REST APIでは処理に時間がかかり、タイムアウトの可能性も高くなります。そこで効果的な解決策となるのがBulk API 2.0です。この記事では、Bulk API 2.0の特徴から実装方法まで、図解を交えながらまとめました。
Bulk API 2.0の特徴
Bulk API 2.0には、以下のような特徴があります:
- REST規則に基づいた設計で、直感的に使いやすい
- 数千から数百万レコードの大規模データセット操作に最適化
- 非同期処理による効率的なデータ処理
- CSVフォーマットのサポート
従来のAPIとの比較
特徴 | Bulk API 2.0 | SOAP/REST API |
---|---|---|
処理方式 | 非同期 | 同期 |
適用ケース | 大量データ処理 | 少数レコードのリアルタイム処理 |
処理単位 | 数千〜数百万レコード | 少数レコード |
実装手順
1. 初期設定
- Trailhead Playgroundへのログイン
- Postman Webアプリケーションの設定
- 認証トークンの取得
- 接続テスト
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つの主要な状態があります:
- Open: 初期状態。データ受信待機中
- UploadComplete: データアップロード完了、処理待機中
- JobComplete: 全処理完了、結果確認可能
モニタリング方法
モニタリングは以下の2つの方法で行えます:
-
Salesforce UI経由
- 設定画面から確認
- 一括データ読み込みジョブの確認
-
API経由
- GETリクエストによる状態確認
- 詳細情報の取得
エラー処理とトラブルシューティング
一般的なエラーと対処方法
-
必須項目の欠落
- エラーログで該当フィールドを確認
- データを修正して再実行
-
重複レコード
- 重複ルールの確認
- 必要に応じてデータのクレンジング
-
データ形式の不一致
- CSVフォーマットの確認
- 文字コードやデリミタの調整
まとめ
Bulk API 2.0は、Salesforceでの大規模データ処理を効率化する強力なツールです。非同期処理と最適化された設計により、大量のレコードを効率的に処理できます。実装時は、適切なジョブ管理とエラー処理を行うことで、より信頼性の高いデータ処理が実現できます。
参考資料
- Salesforce 開発者ドキュメント
- Bulk API 2.0 開発者ガイド
- Trailhead: Bulk API モジュール : 詳細の説明・手順はTrailheadを参照