この記事の目次
SalesforceにおけるBatchとは?
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/356a192b7913b04c54574d18c28d46e6395428ab/67fa909a-49be-44e0-803c-f01bae505f73.jpg)
SalesforceのBatchの作成
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/b6583a06-83cc-4fa2-8649-54512fa48c13.jpg)
Batch用インターフェース
SalesforceでBatch処理をする際は、まずBarch用インターフェースを用意します。インターフェースには、継承クラス、startメソッド、executeメソッド、finishメソッドが必要です。 SalesforceにApex一括処理Batch処理を行うために、Database.Batchableインターフェースを継承するApexクラスを実装します。Batchのstartメソッド
インターフェースメソッドのexecuteにデータを渡すには、startメソッドを作成する必要があります。startメソッドは、Database.Querylocatorオブジェクトやジョブにデータを渡し、オブジェクトに含まれるオブジェクトを返すのです。 簡単なクエリを作成して、一括処理ジョブのオブジェクト範囲を作り出す方法もあります。 Database.Querylocatorオブジェクトを使い、クエリに取得される情報の合計数に対するBatch処理は同期しないで実行するので、実行時にプラットフォーム上のデータベースなどの大きな処理をせずに処理が実行されます。 例えば取引先のデータを手に入れたい場合、アカウントオブジェクトに対するApexの一括処理は、5,000万件ほどQueryLocatorを返すことができます。また、一括処理に複雑な条件を付けたい場合は、Iterable オブジェクトを使用すると便利です。 出典:salesforce公式サイト 参照:https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_batch_interface.htmBatchのexecuteメソッド
Batch処理を単位ごとに処理を行っていくのがexecuteメソッドです。executeメソッドでは、メソッドにデータを渡すBatchごとに呼び出しを行います。 Database.BatchableContextのオブジェクトを照らし合わせる、ListBatchのfinishメソッド
Batchのすべての処理が終わった後に呼び出しを行うのがfinishメソッドです。finishメソッドは、確認メールの送信や後処理のために使用されることが多いと言えます。 一括処理の各実行は、個別のトランザアクションとされます。例えると、1,000件一括処理を行うと、Database.executeBatchから任意のパロメーターを指定しないで実行すると、1,000件の内の200件が5つのトランザアクションとされます。 Batch処理を同期しないで実行するので、実行時にプラットフォーム上のデータベースなどの大きな処理をせずに処理が実行され、各トランザアクションでリセットされるのです。 最初のトランザアクションで成功しても次で失敗した場合、使用したデータベースのロールバックは行いません。 出典:salesforce公式サイト 参照:https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_batch_interface.htmSalesforceのBatchの実行
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/714e52a0-6a4c-461e-a93c-05cf315ac708.jpg)
Batch処理の注意点
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/8c7f204d9ede4027afb1e4450514b993d07cd4a1/8d5c4d1f-0112-417c-9855-0e86b97b2ee7.jpg)
SalesforceのBatchを活用しよう
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/9e08934fd24485c7d9e691a312f16a4ef7ff96eb/66625a28-0ad3-4d7f-951f-132f736aa170.jpg)
この記事の監修者・著者
![株式会社オープンアップITエンジニア](https://tenshoku-careerchange.jp/wp-content/uploads/2023/07/fzxADbr-_400x400-1-150x150.jpg)
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に向いている人の性格・特徴ランキング【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に必要なスキルランキング&スキルアップの方法とは?【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に向いている人の性格・特徴ランキング【現役クリエイター職(ライター・デザイナー・編集)64人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に必要なスキルランキング&スキルアップの方法とは?【現役クリエイター職(ライター・デザイナー・編集)64人が回答】