Hosts-Endpunkt

HINWEIS

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.

Erste Schritte

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.

Abrufen einer Liste von Hosts

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.
HINWEIS

Mithilfe von Abfrageparametern können die aufgelisteten Hosts anhand der folgenden Attribute gefiltert werden:

  • created_at
  • name
  • type_of
  • updated_at
Weiterführende Informationen finden Sie im Handbuch zum Filtern von Antworten.

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: {IMS_ORG}' \
  -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
    }
  }
}

Suchen eines Hosts

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: {IMS_ORG}' \
  -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"
    }
  }
}

Erstellen eines Hosts

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: {IMS_ORG}' \
  -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",
            "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.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",
      "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"
    }
  }
}

Aktualisieren eines Hosts

HINWEIS

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: {IMS_ORG}' \
  -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:
  • encrypted_private_key
  • name
  • path
  • port
  • server
  • type_of
  • username
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",
      "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"
    }
  }
}

Löschen eines Hosts

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: {IMS_ORG}'

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.

Suchen der zugehörigen Eigenschaft für einen Host

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: {IMS_ORG}' \
  -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"
      ]
    }
  }
}

Auf dieser Seite