Relaties in de Reactor-API
Bronnen in de Reactor-API zijn vaak verwant aan elkaar. Dit document biedt een overzicht van hoe de bronrelaties worden vastgelegd in de API en de relatievereisten van elk type bron.
Afhankelijk van het soort middel in kwestie, worden sommige verhoudingen vereist. Een vereiste relatie houdt in dat de bovenliggende bron niet kan bestaan zonder de relatie. Alle andere relaties zijn optioneel.
Ongeacht of ze verplicht of optioneel zijn, worden relaties automatisch door het systeem tot stand gebracht wanneer relevante bronnen worden gemaakt, of ze moeten handmatig worden gemaakt. In het geval van het manueel creëren van verhoudingen, zijn er twee mogelijke methodes afhankelijk van de betrokken bron:
- Maken op basis van lading
- Maken via URL (alleen voor bibliotheken)
Zie de sectie over relatievereisten voor een lijst van de compatibele relaties voor elk middeltype, en de methodes die worden vereist om die relaties tot stand te brengen waar toepasselijk.
Een relatie maken met een payload payload
Sommige verhoudingen moeten manueel worden gevestigd wanneer u aanvankelijk een middel creeert. Hiervoor moet u een relationship
-object in de aanvraagpayload wanneer u de bovenliggende bron voor het eerst maakt. Voorbeelden van deze relaties zijn:
- Een gegevenselement maken met de vereiste extensies
- Een omgeving maken met de vereiste gastheerverhouding
API-indeling
POST /properties/{PROPERTY_ID}/{RESOURCE_TYPE}
{PROPERTY_ID}
{RESOURCE_TYPE}
Verzoek
Met de volgende aanvraag wordt een nieuwe rule_component
, betrekkingen aan te knopen met rules
en 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"
}
}'
relationships
extension
en rules
er relaties worden ingesteld die met name betrekking hebben op rule_components
. Voor meer informatie over compatibele relatietypen voor verschillende middelen, zie de sectie over relatievereisten per bron.data
relationship
object moet een data
eigenschap, die verwijst naar de id
en type
van de bron waarmee een relatie tot stand wordt gebracht. U kunt een relatie maken met meerdere bronnen van hetzelfde type door de data
eigenschap als een array van objecten, waarbij elk object het id
en type
van een toepasselijke bron.id
id
moet vergezeld gaan van een type
eigenschap, met vermelding van het soort bron in kwestie.type
id
veld. Inclusief geaccepteerde waarden data_elements
, rules
, extensions
, en environments
.Een relatie via URL maken url
In tegenstelling tot andere bronnen maken bibliotheken relaties tot stand via hun eigen toegewijde /relationship
eindpunten. Voorbeelden zijn:
API-indeling
POST /properties/{PROPERTY_ID}/libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
{PROPERTY_ID}
{LIBRARY_ID}
{RESOURCE_TYPE}
environment
, data_elements
, extensions
, en rules
.Verzoek
In het volgende verzoek wordt het /relationships/environment
eindpunt voor een bibliotheek om een verhouding met een milieu tot stand te brengen.
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",
}
}'
data
id
en type
van de doelbron voor de relatie. Als u een relatie maakt met meerdere bronnen van hetzelfde type (zoals extensions
en rules
), de data
eigenschap moet worden opgemaakt als een array van objecten, waarbij elk object het id
en type
van een toepasselijke bron.id
id
moet vergezeld gaan van een type
eigenschap, met vermelding van het soort bron in kwestie.type
id
veld. Inclusief geaccepteerde waarden data_elements
, rules
, extensions
, en environments
.Vereisten inzake relatie per bron requirements
De volgende lijsten schetsen de beschikbare verhoudingen voor elk middeltype, al dan niet die verhoudingen worden vereist, en de toegelaten methode om de verhouding manueel tot stand te brengen waar toepasselijk.
Gebeurtenissen van Audit
property
entity
Builds
data_elements
extensions
rules
environment
library
property
Callbacks
property
Bedrijven
properties
Gegevenselementen
libraries
revisions
notes
property
origin
extension
updated_with_extension
updated_with_extension_package
Omgevingen
library
builds
host
property
Extensies
libraries
revisions
notes
property
origin
extension_package
updated_with_extension_package
Gastheren
property
Bibliotheken
builds
environment
data_elements
extensions
rules
notes
upstream_library
property
last_build
Notities
resource
Properties
company
callbacks
environments
libraries
data_elements
extensions
extensions
Regelcomponenten
updated_with_extensions_package
updated_with_extension
extension
notes
origin
property
rules
revisions
Regels
libraries
revisions
notes
property
origin
rule_components
Geheimen
property
environment