Reactor API における関係
Reactor API のリソースは、多くの場合、相互に関連しています。このドキュメントでは、API でのリソースの関係の確立方法と、各リソースタイプの関係要件の概要を説明します。
問題のリソースのタイプによっては、いくつかの関係が必要です。必須の関係は、親リソースがその関係なしでは存在できないことを意味します。その他の関係はオプションです。
関係は、必須かオプションかに関係なく、関連するリソースが作成されるときにシステムによって自動的に確立されるか、手動で作成する必要があります。関係を手動で作成する場合、問題のリソースに応じて 2 つの方法が考えられます。
各リソースタイプの互換性のある関係のリストと、該当する場合はそれらの関係を確立するために必要な方法については、 関係要件 の節を参照してください。
ペイロード別の関係の作成 payload
リソースを最初に作成する際に、手動で関係を確立する必要がある場合があります。これを実現するには、最初に親リソースを作成する際に、リクエストペイロードに relationship オブジェクトを指定する必要があります。これらの関係の例を次に示します。
API 形式
POST /properties/{PROPERTY_ID}/{RESOURCE_TYPE}
{PROPERTY_ID}{RESOURCE_TYPE}リクエスト
次のリクエストは、新しい rule_component を作成し、rules と extension との関係を確立します。
curl -X POST \
https://reactor.adobe.io/properties/PRf606dbddfbdc44f580fc6f342b5ff9be/rule_components \
-H 'Authorization: Bearer [TOKEN]' \
-H 'x-api-key: [KEY]' \
-H 'x-gw-ims-org-id: [ORG_ID]' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"attributes": {
"delegate_descriptor_id": "kessel-test::events::click",
"name": "My Example Click Event",
"settings": "{\"elementSelector\":\".accordion\",\"bubbleFireIfChildFired\":true}"
},
"relationships": {
"extension": {
"data": {
"id": "EXa2865f4d14204fa094f247406424371b",
"type": "extensions"
}
},
"rules": {
"data": [
{
"id": "RLd53598e3f1884e63bbc8e9c95e463dcf",
"type": "rules"
}
]
}
},
"type": "rule_components"
}
}'
relationshipsrule_components に固有の extension と rules の関係が確立されています。様々なリソースの互換性のある関係タイプの詳細については、 リソース別の関係要件 の節を参照してください。datarelationship オブジェクトの下で提供される各関係タイプには、data プロパティが必要です。このプロパティは、関係が確立されるリソースの id と type を参照します。data プロパティをオブジェクトの配列としてフォーマットし、各オブジェクトに id と type を含めることで、同じタイプの複数のリソースとの関係を作成できます。idid には、問題のリソースのタイプを示す兄弟 type プロパティを付ける必要があります。typeid フィールドによって参照されるリソースのタイプ。 許容値としては、data_elements、rules、extensions、environments などがあります。URL による関係の作成 url
他のリソースとは異なり、ライブラリは独自の専用の /relationship エンドポイントを通じて関係を確立します。以下に例を示します。
API 形式
POST /properties/{PROPERTY_ID}/libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
{PROPERTY_ID}{LIBRARY_ID}{RESOURCE_TYPE}environment、data_elements、extensions、rules などです。リクエスト
次のリクエストでは、ライブラリの /relationships/environment エンドポイントを使用して、環境との関係を作成します。
curl -X POST \
https://reactor.adobe.io/properties/PRf606dbddfbdc44f580fc6f342b5ff9be/libraries/LB10c1fd171cd347f19fcb8659a8d679ef/relationships/environment \
-H 'Authorization: Bearer [TOKEN]' \
-H 'x-api-key: [KEY]' \
-H 'x-gw-ims-org-id: [ORG_ID]' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"id": "ENf395a477d2b24ad696d65b901055b9dc",
"type": "environments",
}
}'
dataid と type を参照するオブジェクト。同じタイプの複数のリソース(extensions や rules など)との関係を作成する場合は、data プロパティをオブジェクトの配列としてフォーマットし、各オブジェクトに適用可能なリソースの id と type を含める必要があります。idid には、問題のリソースのタイプを示す兄弟 type プロパティを付ける必要があります。typeid フィールドによって参照されるリソースのタイプ。 許容値としては、data_elements、rules、extensions、environments などがあります。リソース別の関係要件 requirements
次の表は、各リソースタイプで使用可能な関係、それらの関係が必要かどうか、および該当する場合は手動で関係を作成するための許可された方法の概要を示しています。
監査イベント
propertyentityビルド
data_elementsextensionsrulesenvironmentlibrarypropertyコールバック
property会社
propertiesデータ要素
librariesrevisionsnotespropertyoriginextensionupdated_with_extensionupdated_with_extension_package環境
librarybuildshostproperty拡張機能
librariesrevisionsnotespropertyoriginextension_packageupdated_with_extension_packageホスト
propertyライブラリ
buildsenvironmentdata_elementsextensionsrulesnotesupstream_librarypropertylast_build備考
resourceプロパティ
companycallbacksenvironmentslibrariesdata_elementsextensionsextensionsルールコンポーネント
updated_with_extensions_packageupdated_with_extensionextensionnotesoriginpropertyrulesrevisionsルール
librariesrevisionsnotespropertyoriginrule_components秘密鍵
propertyenvironment