2

現在、Salesforce の Python バインディング、特に Beatbox と simple-salesforce を評価しています。両方のモジュールで、新しいカスタム テーブルを作成する機能、カスタム テーブルを削除する機能、およびカスタム テーブルのすべてのアイテムを削除する機能 (個々の削除を使用しない) がありません。

もちろん、Web を介して Salesforce で独自のカスタム テーブルを作成してモデル化することもできますが、自動化とテスト容易性のために、Python を使用してテーブルを自動的に作成することをお勧めします...この問題と大量削除の問題に関するポインタはありますか?

4

1 に答える 1

3

残念ながら、Beatbox と Simple-Salesforce は、カスタム オブジェクト (テーブル) の作成または削除用には設計されていません。

Beatbox (SOAP API) と Simple-Salesforce (REST API) は、Salesforce SOAP および REST API と連携して Salesforce データにアクセスするために作成されました。これにより、既存のオブジェクトのレコードを作成、更新、または削除し、それらのオブジェクト (テーブル) のレコードを照会できます。

プログラムで新しいカスタム オブジェクトを作成する場合は、メタデータ API ( https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/ )を使用して実行できます。ただし、Simple-Salesforce ほど使いやすく、メタデータ展開を作成するためのツールはまだ見つけていません。一般に、メタデータ パッケージ全体を zip ファイルとしてプッシュする必要があるため、メタデータは使いにくいものです。単純なクエリやレコードの作成よりも面倒です。

一括削除の良い解決策がありません。それらを個別に実行すると遅い、またはインスタンス内の API 呼び出しが多すぎるという問題はありますか? 考えられる解決策の 1 つは、すべての削除を行う Apex クラスまたは複数のクラスを用意することです。次に、多数のチェックボックスを持つカスタム オブジェクトを作成します。そのオブジェクトのレコードが更新され、チェックボックスが true に入力されたときに、Apex 削除クラスを呼び出すトリガを設定します。その後、一括削除をトリガーするオブジェクトの更新を Python から呼び出すことができます。ハックですが、機能します。

于 2015-12-07T16:51:28.810 に答える