メタデータ API について
Salesforce メタデータ
メタデータとは、他のデータについて記述したデータのことです。Salesforce によるメタデータの定義を理解するために、ビジネスデータと Salesforce メタデータとを比較します。ビジネスデータには、住所、取引先、製品など企業のビジネスに直接対応するレコードが含まれています。Salesforce メタデータには、Salesforce 組織のスキーマ、プロセス、プレゼンテーション、認証、全般設定が記述されています。
Salesforce メタデータとビジネスデータを比較するために、最初にスキーマメタデータがビジネスデータのプロパティをどのように記述しているかを調べます。たとえば、Salesforce 標準オブジェクトの Address には、スキーマメタデータとビジネスデータが含まれています。Address Type、City、Postal Code などの住所項目は、すべてスキーマメタデータです。Mailing address、Chicago、IL、60106 などの各項目に対応する値はすべてデータです。通常、個人識別情報 (PII) はビジネスデータに含まれていますが、メタデータにもカスタムオブジェクト名やレポート名などの PII を含めることができます。
Salesforce のメタデータでは、組織の機能も定義されています。たとえば、プロセスメタデータには、ユーザーが [保存] ボタンを押したときに実行される処理が記述されています。プレゼンテーションメタデータは組織のレイアウトに関係しており、認証メタデータはユーザーアクセスを決定します。Salesforce メタデータには、組織の全般設定も記述されています。たとえば、投稿内の絵文字をブロックするように Chatter を設定できます。
メタデータ API は、メタデータ型およびメタデータコンポーネントと共に機能します。メタデータ型は、アプリケーションメタデータの構造を定義します。メタデータコンポーネントは、メタデータ型のインスタンスです。メタデータ型の項目と値はすべてメタデータです。たとえば、メタデータ型 CustomTab は、コンテンツを表示するカスタムタブを表します。CustomTab の項目 hasSidebar は、タブにサイドバーパネルを表示するかどうかを示します。これは、メタデータがプレゼンテーションを決定する一例です。CustomTab のようなメタデータ型は、組織の構成、表示、機能の方法を記述したメタデータモデルを構築します。メタデータ API を使用すると、カスタマイズを作成したり、データ自体ではなくメタデータモデルを管理するツールを構築したりできます。
メタデータ API の機能
メタデータ API の主な目的は、開発プロセス中に Salesforce の組織間でメタデータを移動することです。メタデータ API を使用して、カスタムオブジェクト定義やページレイアウトなどのカスタマイズ情報をリリース、取得、作成、更新、または削除します。メタデータ API は、ビジネスデータを直接処理するものではありません。取引先やリードなどのレコードを作成、取得、更新、削除するには、SOAP API または REST API を使用します。
メタデータを移動するには、2 つの方法があります。第一の方法として、メタデータ API の deploy() コールと retrieve() コールを使用する方法があります。多くの場合、システム管理者は、deploy() コールと retrieve() コールを使用して、メタデータモデル全体を移動します。このコールは、テスト済みのカスタマイズを本番組織にリリースするなどの開発の最終段階に最適です。
第二の方法は、メタデータの変更箇所のみを移動する source push および pull コマンドです。これらのコマンドは、ソース追跡を使用するため、開発者にとって使いやすく、開発の中間段階に適しています。