Dieses Dokument beschreibt, wie Hosts in der Reactor-API verwaltet werden. Weitere allgemeine Informationen zu Hosts für Tags finden Sie im Handbuch Hosts – Übersicht in der Publishing-Dokumentation.
In der Reactor-API definiert ein Host ein Ziel, an dem ein Build bereitgestellt werden kann.
Wenn ein Build von einem Tags-Benutzer in Adobe Experience Platform angefordert wird, überprüft das System die Bibliothek, um zu bestimmen, in welcher Umgebung die Bibliothek erstellt werden soll. Jede Umgebung hat eine Beziehung zu einem Host, die angibt, wo der Build bereitgestellt werden soll.
Ein Host gehört genau zu einer Eigenschaft, während eine Eigenschaft über viele Hosts verfügen kann. Eine Eigenschaft muss über mindestens einen Host verfügen, damit Sie veröffentlichen können.
Ein Host kann von mehr als einer Umgebung innerhalb einer Eigenschaft verwendet werden. Es ist üblich, nur einen einzelnen Host in einer Eigenschaft zu haben, und alle Umgebungen in dieser Eigenschaft verwenden denselben Host.
Der in diesem Handbuch verwendete Endpunkt ist Teil der Reactor-API. Bevor Sie fortfahren, lesen Sie zunächst das Erste-Schritte-Handbuch, um wichtige Informationen zur Authentifizierung bei der API zu erhalten.
Sie können eine Liste von Hosts für eine Eigenschaft abrufen, indem Sie die ID der Eigenschaft im Pfad einer GET-Anfrage angeben.
API-Format
GET /properties/{PROPERTY_ID}/hosts
Parameter | Beschreibung |
---|---|
PROPERTY_ID |
Die id der Eigenschaft, zu der die Hosts gehören. |
Mithilfe von Abfrageparametern können die aufgelisteten Hosts anhand der folgenden Attribute gefiltert werden:
created_at
name
type_of
updated_at
Anfrage
curl -X GET \
https://reactor.adobe.io/properties/PRd428c2a25caa4b32af61495f5809b737/hosts \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Antwort
Eine erfolgreiche Antwort gibt eine Liste von Hosts für die angegebene Eigenschaft zurück.
{
"data": [
{
"id": "HT405b8d9306004eb38106e66c8a4afc09",
"type": "hosts",
"attributes": {
"created_at": "2020-12-14T17:42:35.239Z",
"server": null,
"name": "Example Akamai Host",
"path": null,
"port": null,
"status": "succeeded",
"type_of": "akamai",
"updated_at": "2020-12-14T17:42:35.239Z",
"username": null
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/hosts/HT405b8d9306004eb38106e66c8a4afc09/property"
},
"data": {
"id": "PRd428c2a25caa4b32af61495f5809b737",
"type": "properties"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRd428c2a25caa4b32af61495f5809b737",
"self": "https://reactor.adobe.io/hosts/HT405b8d9306004eb38106e66c8a4afc09"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Sie können einen Host suchen, indem Sie dessen ID im Pfad einer GET-Anfrage angeben.
API-Format
GET /hosts/{HOST_ID}
Parameter | Beschreibung |
---|---|
HOST_ID |
Die id des Hosts, den Sie suchen möchten. |
Anfrage
curl -X GET \
https://reactor.adobe.io/hosts/HT5d90148e72224224aac9bc0b01498b84 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Antwort
Eine erfolgreiche Antwort gibt die Details des Hosts zurück.
{
"data": {
"id": "HT5d90148e72224224aac9bc0b01498b84",
"type": "hosts",
"attributes": {
"created_at": "2020-12-14T17:42:25.353Z",
"server": "https://server.example.com",
"name": "Example Akamai Host",
"path": "/akamai",
"port": 8000,
"status": "succeeded",
"type_of": "akamai",
"updated_at": "2020-12-14T17:42:25.353Z",
"username": null
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/hosts/HT5d90148e72224224aac9bc0b01498b84/property"
},
"data": {
"id": "PRd7cf174259f34057b5c435ef873a79bf",
"type": "properties"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRd7cf174259f34057b5c435ef873a79bf",
"self": "https://reactor.adobe.io/hosts/HT5d90148e72224224aac9bc0b01498b84"
}
}
}
Sie können einen neuen Host erstellen, indem Sie eine POST-Anfrage stellen.
API-Format
POST /properties/{PROPERTY_ID}/hosts
Parameter | Beschreibung |
---|---|
PROPERTY_ID |
Die id der Eigenschaft, unter der Sie den Host definieren. |
Anfrage
Die folgende Anfrage erstellt einen neuen Host für die angegebene Eigenschaft. Der Aufruf verknüpft den Host auch mit einer vorhandenen Erweiterung über die Eigenschaft relationships
. Weitere Informationen finden Sie im Handbuch zu Beziehungen.
curl -X POST \
https://reactor.adobe.io/properties/PRb25a704c0b7c4562835ccdf96d3afd31/hosts \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"attributes": {
"name": "Example SFTP Host",
"type_of": "sftp",
"username": "John Doe",
"encrypted_private_key": "{PRIVATE_KEY}",
"server": "https://example.com",
"skip_symlinks": true,
"path": "assets",
"port": 22
},
"type": "hosts"
}
}'
Eigenschaft | Beschreibung |
---|---|
attributes.name |
(Erforderlich) Ein für Menschen lesbarer Name für den Host. |
attributes.type_of |
(Erforderlich) Der Host-Typ. Kann eine von zwei Optionen sein:
|
attributes.encrypted_private_key |
Ein optionaler privater Schlüssel, der für die Host-Authentifizierung verwendet werden soll. |
attributes.path |
Der Pfad, der an die URL server angehängt werden soll. |
attributes.port |
Eine Ganzzahl, die den zu verwendenden Serverport angibt. |
attributes.server |
Die Host-URL für den Server. |
attributes.skip_symlinks (Nur für SFTP-Hosts) |
Standardmäßig verwenden alle SFTP-Hosts symbolische Links (Symlinks), um auf Bibliotheks-Builds zu verweisen, die auf dem Server gespeichert werden. Allerdings unterstützen nicht alle Server die Verwendung von Symlinks. Wenn dieses Attribut enthalten ist und auf true verwendet der Host einen Kopiervorgang, um die Build-Assets direkt zu aktualisieren, anstatt Symlinks zu verwenden. |
attributes.username |
Ein optionaler Benutzername für die Authentifizierung. |
type |
Der Typ der zu aktualisierenden Ressource. Für diesen Endpunkt muss der Wert hosts lauten. |
Antwort
Eine erfolgreiche Antwort gibt die Details des neu erstellten Hosts zurück.
{
"data": {
"id": "HT69bfe634dead4a9a8c659f5d4d94cecd",
"type": "hosts",
"attributes": {
"created_at": "2020-12-14T17:42:07.033Z",
"server": "//example.com",
"name": "Example SFTP Host",
"path": "assets",
"port": 22,
"status": "pending",
"skip_symlinks": true,
"type_of": "sftp",
"updated_at": "2020-12-14T17:42:07.033Z",
"username": "John Doe"
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/hosts/HT69bfe634dead4a9a8c659f5d4d94cecd/property"
},
"data": {
"id": "PRb25a704c0b7c4562835ccdf96d3afd31",
"type": "properties"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRb25a704c0b7c4562835ccdf96d3afd31",
"self": "https://reactor.adobe.io/hosts/HT69bfe634dead4a9a8c659f5d4d94cecd"
}
}
}
Nur SFTP-Hosts können aktualisiert werden.
Sie können einen Host aktualisieren, indem Sie dessen ID im Pfad einer PATCH-Anfrage angeben.
API-Format
PATCH /hosts/{HOST_ID}
Parameter | Beschreibung |
---|---|
HOST_ID |
Die id des Hosts, den Sie aktualisieren möchten. |
Anfrage
Die folgende Anfrage aktualisiert den name
für einen vorhandenen Host.
curl -X PATCH \
https://reactor.adobe.io/hosts/HT5d90148e72224224aac9bc0b01498b84 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"attributes": {
"name": "New host Name"
},
"id": "HT5d90148e72224224aac9bc0b01498b84",
"type": "hosts"
}
}'
Eigenschaft | Beschreibung |
---|---|
attributes |
Ein Objekt, dessen Eigenschaften die Attribute darstellen, die für den Host aktualisiert werden sollen. Die folgenden Attribute können für einen Host aktualisiert werden:
|
id |
Die id des Hosts, den Sie aktualisieren möchten. Diese sollte mit dem {HOST_ID} -Wert übereinstimmen, der im Anfragepfad angegeben ist. |
type |
Der Typ der zu aktualisierenden Ressource. Für diesen Endpunkt muss der Wert hosts lauten. |
Antwort
Eine erfolgreiche Antwort gibt die Details des aktualisierten Hosts zurück.
{
"data": {
"id": "HTb14e136a6fe147459b298a4645d2a6f5",
"type": "hosts",
"attributes": {
"created_at": "2020-12-14T17:42:45.087Z",
"server": null,
"name": "My SFTP host",
"path": null,
"port": null,
"status": "succeeded",
"skip_symlinks": true,
"type_of": "sftp",
"updated_at": "2020-12-14T17:42:45.696Z",
"username": null
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/hosts/HTb14e136a6fe147459b298a4645d2a6f5/property"
},
"data": {
"id": "PR8f240526f7b54a4dbd46965e79519fde",
"type": "properties"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR8f240526f7b54a4dbd46965e79519fde",
"self": "https://reactor.adobe.io/hosts/HTb14e136a6fe147459b298a4645d2a6f5"
}
}
}
Sie können einen Host löschen, indem Sie dessen ID im Pfad einer DELETE-Anfrage angeben.
API-Format
DELETE /hosts/{HOST_ID}
Parameter | Beschreibung |
---|---|
HOST_ID |
Die id des Hosts, den Sie löschen möchten. |
Anfrage
curl -X DELETE \
https://reactor.adobe.io/hosts/HT5d90148e72224224aac9bc0b01498b84 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status 204 (Kein Inhalt) ohne Antworttext zurück und zeigt an, dass der Host gelöscht wurde.
Die folgenden Aufrufe zeigen, wie Sie die zugehörigen Ressourcen für einen Host abrufen. Bei der Suche nach einem Host werden diese Beziehungen unter der Eigenschaft relationships
aufgeführt.
Weitere Informationen zu Beziehungen in der Reactor-API finden Sie im Handbuch zu Beziehungen.
Sie können die Eigenschaft suchen, der ein Host gehört, indem Sie /property
an den Pfad einer Suchanfrage anhängen.
API-Format
GET /hosts/{HOST_ID}/property
Parameter | Beschreibung |
---|---|
{HOST_ID} |
Die id des Hosts, dessen Eigenschaft Sie nachschlagen möchten. |
Anfrage
curl -X GET \
https://reactor.adobe.io/hosts/HT5d90148e72224224aac9bc0b01498b84/property \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Antwort
Eine erfolgreiche Antwort gibt die Details der Eigenschaft des angegebenen Hosts zurück.
{
"data": {
"id": "PRbdfaffb7bf374b87be50e672f0cf9309",
"type": "properties",
"attributes": {
"created_at": "2020-12-14T17:52:05.900Z",
"enabled": true,
"name": "Kessel Example Property",
"updated_at": "2020-12-14T17:52:05.900Z",
"platform": "web",
"development": false,
"token": "47d65c7c98db",
"domains": [
"example.com"
],
"undefined_vars_return_empty": false,
"rule_component_sequencing_enabled": false
},
"relationships": {
"company": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/company"
},
"data": {
"id": "CO2bf094214ffd4785bb4bcf88c952a7c1",
"type": "companies"
}
},
"callbacks": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/callbacks"
}
},
"hosts": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/hosts"
}
},
"environments": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/environments"
}
},
"libraries": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/libraries"
}
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/extensions"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/rules"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/notes"
}
}
},
"links": {
"company": "https://reactor.adobe.io/companies/CO2bf094214ffd4785bb4bcf88c952a7c1",
"data_elements": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/data_elements",
"environments": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/environments",
"extensions": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/extensions",
"rules": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309/rules",
"self": "https://reactor.adobe.io/properties/PRbdfaffb7bf374b87be50e672f0cf9309"
},
"meta": {
"rights": [
"approve",
"develop",
"manage_environments",
"manage_extensions",
"publish"
]
}
}
}