deleteByExample()
削除対象を指定するテンプレートとして sObject を使用して組織から Big Object データを削除する場合は、deleteByExample() を使用します。sObject テンプレートと一致する Big Object 内のすべてのデータが削除されます。
構文
1DeleteByExampleResult[] = connection.deleteByExample(sObject[] sObjects);ルールとガイドライン
データを削除する際は、次のルールやガイドラインを考慮する必要があります。
- 指定したオブジェクト内の個別のオブジェクトを削除するには、クライアントアプリケーションは、実行に十分なアクセス権限でログインする必要があります。詳細は、「データアクセスに影響する要素」を参照してください。
- 複数のオブジェクト種別のレコードは、いずれかのオブジェクト種別が Salesforce の [設定] 領域の機能に関連していると、1 回のコールで削除することはできません。唯一の例外は次のオブジェクトです。
- カスタム設定のオブジェクト。カスタムオブジェクトに類似しています。詳細は、Salesforce ヘルプの「カスタム設定の作成」を参照してください。
- GroupMember
- Group
- User
データ削除の基本手順
データは、次の基本手順に従って削除します。
- Big Object のインデックスを構成するすべての項目を使用して sObject を定義します。
- 各項目の値を指定します。
- deleteByExample() をコールし、作成した sObject を渡します。
- DeleteByExampleResult[] の結果を処理してレコードの削除が成功したかどうかを確認します。
サンプルコード — カスタム Big Object
このサンプルでは、カスタム Big Object 内のレコードを削除する方法を示します。この例では、Account__c、Game_Platform__c、Play_Date__c がカスタム Big Object のインデックスの一部です。Account__c が “001d000000Ky3xIAB”、Game_Platform__c が “iOS”、Play_Date__c が “2017-11-28T19:13:36.000z” のすべての行が削除されます。
1public static void main(String[] args) {
2 try{
3 //Declare an sObject that has the values to delete
4 sObject[] sObjectsToDelete = new sObject[1];
5 sObject[] customerBO = new sObject();
6 customerBO.setType("Customer_Interaction__b");
7 customerBO.setField("Account__c","001d000000Ky3xIAB");
8 customerBO.setField("Game_Platform__c","iOS");
9 customerBO.setField("Play_Date__c","2017-11-28T19:13:36.000z");
10 sObjectsToDelete[0] = customerBO;
11
12 DeleteByExampleResult[] result = connection.deleteByExample(sObjectsToDelete);
13 }
14}サンプルコード — 項目監査履歴
このサンプルでは、FieldHistoryArchive のレコードを削除する方法を示します。指定された条件を持つすべて���行が削除されます。
1public static void main(String[] args) {
2 try{
3 //Declare an sObject that has the values to delete
4 sObject[] sObjectsToDelete = new sObject[2];
5 sObject[] fieldHistoryArchive_1 = new sObject();
6 fieldHistoryArchive_1.setType("FieldHistoryArchive");
7 fieldHistoryArchive_1.setField("FieldHistoryType","Account");
8 fieldHistoryArchive_1.setField("ParentId","001d000000Ky3xIAB");
9 fieldHistoryArchive_1.setField("CreatedDate","2017-11-28T19:13:36.000z");
10 fieldHistoryArchive_1.setField("HistoryId","017D000000ESURXIA5");
11 sObjectsToDelete[0] = fieldHistoryArchive_1;
12
13 sObject[] fieldHistoryArchive_2 = new sObject();
14 fieldHistoryArchive_2.setType("FieldHistoryArchive");
15 fieldHistoryArchive_2.setField("FieldHistoryType","Account");
16 fieldHistoryArchive_2.setField("ParentId","001d000000Ky3xIAB");
17 fieldHistoryArchive_2.setField("CreatedDate","2017-11-29T19:13:36.000z");
18 fieldHistoryArchive_2.setField("HistoryId","017D000000ESURMIA5");
19 sObjectsToDelete[1] = fieldHistoryArchive_2;
20
21 DeleteByExampleResult[] result = connection.deleteByExample(sObjectsToDelete);
22 }
23}引数
| 名前 | 型 | 説明 |
|---|---|---|
| sObject | sObject[] | 削除のテンプレートとして使用する 1 つ以上の sObject の配列。 |