update()
構文
使用方法
このコールを使用して、1 つ以上のコンポーネントの更新します。このコールは SQL の ALTER TABLE ステートメントに類似しています。
バージョン
このコールは、API バージョン 30.0 以前でのみ使用できます。このコールは、API バージョン 31.0 以降では使用できません。メタデータコンポーネントを更新する場合は、代わりに updateMetadata() を、メタデータコンポーネントの名前を変更する場合は renameMetadata() を使用します。
必須項目
コンポーネント内のすべての必須項目に値を指定する必要があります。
有効な項目値
項目のデータ型に対して有効な値を入力する必要があります。たとえば、整数項目については整数を入力します (英字は不可)。クライアントアプリケーションでは、使用しているプログラム言語および開発���ールに指定されたデータ形式ルールに従ってください。(開発ツールは、SOAP メッセージのデータ型の適切な対応付けを処理します)。
文字列値
String 項目に値を保存する場合、API は先頭および末尾の空白文字を削除します。たとえば、label 項目の値に "MyObject " と入力されると、その値はデータベースに "MyObject" として保存されます。
メタデータコンポーネント更新の基本手順
メタデータコンポーネントを更新するには、次のプロセスを使用します。
- UpdateMetadata コンポーネントの配列を作成し、更新するコンポーネントを挿入します。すべてのコンポーネントは同じ種類である必要があります。
- update() コールを呼び出し、更新するメタデータコンポーネントの配列を渡します。
- 更新しようとするコンポーネントごとに AsyncResult オブジェクトが返されます。このオブジェクトは、操作がキューから完了またはエラー状態に移行すると、状況情報で更新されます。AsyncResult の状況値が、すべての更新操作が完了したことを示すまで、ループで checkStatus() をコールします。checkStatus() コールの反復間の待機時間を 1 秒間で開始して、以降の各コール実行時にはその待機時間を 2 倍の秒数に指定します。
サンプルコード — Java
引数
| 名前 | 型 | 説明 |
|---|---|---|
| metadata | UpdateMetadata[] | 更新しようとするコンポーネントを表す、1 つ以上の UpdateMetadata データ構造の配列。 上限: 10。 1 つの種類のコンポーネントの配列を送信する必要があります。たとえば、10 個のカスタムオブジェクトの配列または 10 個のプロファイルの配列を送信できますが、両方の種類を混ぜて送信することはできません。 |
UpdateMetadata
1 つ以上の UpdateMetadata オブジェクトが metadata 引数で定義されます。このオブジェクトは、Metadata を拡張するオブジェクトを更新するために使用できます。詳細は、「Metadata コンポーネントおよびメタデータ型」を参照してください。各 UpdateMetadata オブジェクトには、次の項目があります。
| 項目 | 項目の型 | 説明 |
|---|---|---|
| currentName | string | 更新前のコンポーネントまたは項目の API 名。たとえば、Foo という名前の CustomObject を更新する場合、この項目の値は Foo__c になります。この値はこのコールによって名前が変更される可能性があるため提供されるものであり、その値は対応付けに使用されます。 |
| metadata | Metadata | 更新するコンポーネントまたは項目の完全な仕様。 |