0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bulk API によるバッチ サイズの設定

Last updated at Posted at 2025-03-09

Bulk API は、大量のレコードを非同期で並行して読み込むことを目的としています。また、 1日の制限も非常に小さいです。技術的には、1 レコードずつのバッチを 10,000 個設定することもできますが、1 日の制限に達してしまいます。代わりに、通常の同期 API を使用してください。約 1,000 件未満のレコードのバッチが必要な場合は、Bulk API は適していません。同期 API とは異なり、各バッチには 10 分間の制限があり (追加のチャンクには再試行があります)、200 レコードの各チャンクには 5 分間の制限があり、同期更新に関連する通常のより短い時間制限ではないことに注意してください。

同期 API の場合、バッチ サイズは API 呼び出しごとに一度に送信するレコードの数です。Bulk API の場合、バッチ サイズはファイルで送信するレコードの数で、これはバッチと呼ばれます。バッチは、それぞれ 100/200 レコードのチャンクに分割されます (API バージョンによって異なります)。各チャンクが 5 分未満で実行される限り、問題ありません。1,000 未満の値で適切なパフォーマンスが得られない場合、この API を使用するには、1 日の制限の点で「高価」すぎることになります。

2,000 件以上のレコードを含むデータを操作する場合は、Bulk API 2.0 の使用が適しています。この API により、Bulk フレームワークを利用して非同期ワークフローの準備、実行、管理を正常に行えます。2,000 レコード以下のジョブでは、REST (Composite など) または SOAP による「一括」の同期呼び出しを行うことをお勧めします。

24 時間内に送信可能なバッチ数は最大で 15,000 件に制限されています。このバッチ割り当ては Bulk API と Bulk API 2.0 で合計されるため、Bulk API または Bulk API 2.0 で処理されるバッチはすべて、この割り当てに反映されます。

フローとの併用でフローが起動しない場合

バッチサイズを1にしてみたら、どうなりますか?

https://developer.salesforce.com/docs/atlas.ja-jp.dataLoader.meta/dataLoader/configuring_the_data_loader.htm

1レコードしかアップロードできないのではと想像してましたが、

データローダーのバッチサイズを 1 に設定したところ、一括処理ではなく 1 レコードごとの処理となり、Apexが起動されました。

work bench

シリアルとパラレルで実行することで同様の結果が得られると思います...ワークベンチ > 設定 > 「データ管理オプション」セクション > 「非同期同時実行モード」

設定値 = シリアル。

ホバーごとに: 「...競合を回避するには、シリアル処理が必要です。」

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?