Klassenendpunkt

Alle Experience-Datenmodell (XDM)-Schemas müssen auf einer Klasse basieren. Eine Klasse bestimmt die Basisstruktur von allgemeinen Eigenschaften, die alle Schemas, die auf dieser Klasse basieren, enthalten müssen, sowie welche Schemafeldgruppen für die Verwendung in diesen Schemas geeignet sind. Darüber hinaus bestimmt die Klasse eines Schemas die verhaltensbezogenen Aspekte der Daten, die ein Schema enthalten soll, von denen es zwei Typen gibt:

  • Datensatz: Enthält Informationen zu den Attributen eines Betreffs. Ein Subjekt könnte eine Organisation oder eine Einzelperson sein.
  • Zeitreihen: Stellt eine Momentaufnahme des Systems zum Zeitpunkt bereit, zu dem eine Aktion entweder direkt oder indirekt von einem Datensatzsubjekt durchgeführt wurde.
HINWEIS

Weitere Informationen zu Datenverhaltensklassen hinsichtlich ihrer Auswirkung auf die Schemakomposition finden Sie in den Grundlagen der Schemakomposition.

Mit dem Endpunkt /classes in der API Schema Registry können Sie Klassen in Ihrer Erlebnisanwendung programmgesteuert verwalten.

Erste Schritte

Der in diesem Handbuch verwendete API-Endpunkt ist Teil der Schema Registry . Bevor Sie fortfahren, lesen Sie zunächst das Erste-Schritte-Handbuch , um Links zur zugehörigen Dokumentation zu erhalten, eine Anleitung zum Lesen der Beispiel-API-Aufrufe in diesem Dokument und wichtige Informationen zu erforderlichen Kopfzeilen, die für das erfolgreiche Aufrufen von Experience Platform-APIs benötigt werden.

Liste von Klassen abrufen

Sie können alle Klassen unter dem Container global oder tenant auflisten, indem Sie eine GET an /global/classes bzw. /tenant/classes anfordern.

HINWEIS

Bei der Auflistung von Ressourcen beschränkt die Schema Registry Ergebnissätze auf 300 Elemente. Um Ressourcen zurückzugeben, die über diese Grenze hinausgehen, müssen Sie Paging-Parameter verwenden. Es wird außerdem empfohlen, zusätzliche Abfrageparameter zu verwenden, um Ergebnisse zu filtern und die Anzahl der zurückgegebenen Ressourcen zu reduzieren. Weitere Informationen finden Sie im Abschnitt zu Abfrageparametern im Anhang.

API-Format

GET /{CONTAINER_ID}/classes?{QUERY_PARAMS}
Parameter Beschreibung
{CONTAINER_ID} Der Container, aus dem Sie Klassen abrufen möchten: global für von Adoben erstellte Klassen oder tenant für Klassen, die Ihrem Unternehmen gehören.
{QUERY_PARAMS} Optionale Abfrageparameter zum Filtern der Ergebnisse. Eine Liste der verfügbaren Parameter finden Sie im Dokument Anhang .

Anfrage

Mit der folgenden Anfrage wird eine Liste von Klassen aus dem tenant-Container abgerufen, wobei mithilfe eines orderby-Abfrageparameters die Klassen nach ihrem title-Attribut sortiert werden.

curl -X GET \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/classes?orderby=title \
  -H 'Accept: application/vnd.adobe.xed-id+json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Das Antwortformat hängt von der Accept-Kopfzeile ab, die in der Anfrage gesendet wird. Die folgenden Accept-Kopfzeilen stehen für die Auflistung von Klassen zur Verfügung:

Accept-Kopfzeile Beschreibung
application/vnd.adobe.xed-id+json Gibt eine kurze Zusammenfassung jeder Ressource zurück. Dies ist die empfohlene Kopfzeile für die Auflistung von Ressourcen. (Limit: 300)
application/vnd.adobe.xed+json Gibt die vollständige JSON-Klasse für jede Ressource zurück, wobei die ursprünglichen Werte $ref und allOf enthalten sind. (Limit: 300)

Antwort

In der obigen Anfrage wurde die Kopfzeile application/vnd.adobe.xed-id+json Accept verwendet. Daher enthält die Antwort nur die Attribute title, $id, meta:altId und version für jede Klasse. Mit der anderen Accept-Kopfzeile (application/vnd.adobe.xed+json) werden alle Attribute jeder Klasse zurückgegeben. Wählen Sie je nach den Informationen, die Sie in Ihrer Antwort benötigen, die entsprechende Accept-Kopfzeile aus.

{
  "results": [
    {
      "$id": "https://ns.adobe.com/{TENANT_ID}/classes/01b7b1745e8ac4ed1e8784ec91b6afa7",
      "meta:altId": "_{TENANT_ID}.classes.01b7b1745e8ac4ed1e8784ec91b6afa7",
      "version": "1.0",
      "title": "Hotel"
    },
    {
      "$id": "https://ns.adobe.com/{TENANT_ID}/classes/d43b86253676af50da3f671ecdd26ff9",
      "meta:altId": "_{TENANT_ID}.classes.d43b86253676af50da3f671ecdd26ff9",
      "version": "1.1",
      "title": "Property"
    },
    {
      "$id": "https://ns.adobe.com/{TENANT_ID}/classes/366f015dbfea802455fbc46c3b27f771",
      "meta:altId": "_{TENANT_ID}.classes.366f015dbfea802455fbc46c3b27f771",
      "version": "1.0",
      "title": "Subscription"
    }
  ],
  "_page": {
    "orderby": "title",
    "next": null,
    "count": 3
  },
  "_links": {
    "next": null,
    "global_schemas": {
      "href": "https://platform.adobe.io/data/foundation/schemaregistry/global/classes"
    }
  }
}

Klasse nachschlagen

Sie können nach einer bestimmten Klasse suchen, indem Sie die ID der Klasse in den Pfad einer GET-Anfrage einschließen.

API-Format

GET /{CONTAINER_ID}/classes/{CLASS_ID}
Parameter Beschreibung
{CONTAINER_ID} Der Container, der die Klasse enthält, die Sie abrufen möchten: global für eine von Adoben erstellte Klasse oder tenant für eine Klasse, die Ihrem Unternehmen gehört.
{CLASS_ID} Die meta:altId oder URL-kodierte $id der Klasse, die Sie nachschlagen möchten.

Anfrage

Die folgende Anfrage ruft eine Klasse anhand ihres im Pfad angegebenen meta:altId -Werts ab.

curl -X GET \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/classes/_{TENANT_ID}.classes.f579a0b5f992c69458ea408ec36571f7da9de15901bab116 \
  -H 'Accept: application/vnd.adobe.xed+json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Das Antwortformat hängt von der Accept-Kopfzeile ab, die in der Anfrage gesendet wird. Für alle Nachschlageanfragen muss version in der Accept-Kopfzeile enthalten sein. Die folgenden Accept-Header sind verfügbar:

Accept-Kopfzeile Beschreibung
application/vnd.adobe.xed+json; version=1 Roh mit $ref und allOf, verfügt über Titel und Beschreibungen.
application/vnd.adobe.xed-full+json; version=1 $ref und allOf aufgelöst, verfügt über Titel und Beschreibungen.
application/vnd.adobe.xed-notext+json; version=1 Roh mit $ref und allOf, keine Titel oder Beschreibungen.
application/vnd.adobe.xed-full-notext+json; version=1 $ref und allOf aufgelöst, keine Titel oder Beschreibungen.
application/vnd.adobe.xed-full-desc+json; version=1 $ref und allOf aufgelöst, einschließlich Deskriptoren.

Antwort

Eine erfolgreiche Antwort gibt die Details der Klasse zurück. Die zurückgegebenen Felder hängen von der Accept-Kopfzeile ab, die in der Anfrage gesendet wird. Experimentieren Sie mit verschiedenen Accept-Kopfzeilen, um die Antworten zu vergleichen und zu bestimmen, welche Kopfzeile für Ihren Anwendungsfall am besten geeignet ist.

{
  "$id":"https://ns.adobe.com/{TENANT_ID}/classes/f8bbdc3c49d49eae62d1c17e867230ac3de6b5b63b0615ce",
  "meta:altId":"_{TENANT_ID}.classes.f8bbdc3c49d49eae62d1c17e867230ac3de6b5b63b0615ce",
  "meta:resourceType":"classes",
  "version":"1.1",
  "title":"Hotel",
  "type":"object",
  "description":"Base class for the Hotels schema",
  "definitions":{
    "customFields":{
      "type":"object",
      "properties":{
        "_{TENANT_ID}":{
          "type":"object",
          "properties":{
            "Address":{
              "title":"Address",
              "description":"",
              "isRequired":false,
              "$ref":"https://ns.adobe.com/xdm/common/address",
              "type":"object",
              "meta:xdmType":"object"
            },
            "phoneNumber":{
              "title":"Phone Number",
              "description":"",
              "isRequired":false,
              "$ref":"https://ns.adobe.com/xdm/context/phonenumber",
              "type":"object",
              "meta:xdmType":"object"
            },
            "brand":{
              "title":"Brand",
              "description":"",
              "type":"string",
              "isRequired":false,
              "meta:xdmType":"string"
            },
            "hotelId":{
              "title":"Hotel ID",
              "description":"",
              "type":"string",
              "isRequired":false,
              "meta:xdmType":"string"
            }
          },
          "meta:xdmType":"object"
        }
      },
      "meta:xdmType":"object"
    }
  },
  "allOf":[
    {
      "$ref":"https://ns.adobe.com/xdm/data/record",
      "type":"object",
      "meta:xdmType":"object"
    },
    {
      "$ref":"#/definitions/customFields",
      "type":"object",
      "meta:xdmType":"object"
    }
  ],
  "imsOrg":"{IMS_ORG}",
  "meta:extensible":true,
  "meta:abstract":true,
  "meta:extends":[
    "https://ns.adobe.com/xdm/data/record"
  ],
  "meta:xdmType":"object",
  "meta:registryMetadata":{
    "repo:createdDate":1593643258779,
    "repo:lastModifiedDate":1597246362579,
    "xdm:createdClientId":"{CLIENT_ID}",
    "xdm:lastModifiedClientId":"{CLIENT_ID}",
    "xdm:createdUserId":"{USER_ID}",
    "xdm:lastModifiedUserId":"{USER_ID}",
    "eTag":"502f89ee16b8ab2e6b4ea09ecf0ab1e5614907db755051c1f3c65a273001d725",
    "meta:globalLibVersion":"1.15.4"
  },
  "meta:containerId":"tenant",
  "meta:tenantNamespace":"_{TENANT_ID}"
}

Klasse erstellen

Sie können eine benutzerdefinierte Klasse unter dem Container tenant definieren, indem Sie eine POST-Anfrage ausführen.

WICHTIG

Beim Erstellen eines Schemas, das auf einer von Ihnen definierten benutzerdefinierten Klasse basiert, können Sie keine Standardfeldgruppen verwenden. Jede Feldergruppe definiert die Klassen, mit denen sie kompatibel sind, in ihrem meta:intendedToExtend -Attribut. Sobald Sie mit der Definition von Feldergruppen beginnen, die mit Ihrer neuen Klasse kompatibel sind (durch Verwendung von $id Ihrer neuen Klasse im Feld meta:intendedToExtend der Feldergruppe), können Sie diese Feldergruppen jedes Mal wiederverwenden, wenn Sie ein Schema definieren, das die von Ihnen definierte Klasse implementiert. Weitere Informationen finden Sie in den Abschnitten Erstellen von Feldergruppen und Erstellen von Schemas in den entsprechenden Endpunkthandbüchern.

Wenn Sie planen, Schemas zu verwenden, die auf benutzerdefinierten Klassen im Echtzeit-Kundenprofil basieren, sollten Sie auch beachten, dass Vereinigungsschemas nur auf Schemas erstellt werden, die dieselbe Klasse aufweisen. Wenn Sie ein benutzerdefiniertes Klassenschema in die Vereinigung für eine andere Klasse einfügen möchten, z. B. XDM Individual Profile oder XDM ExperienceEvent, müssen Sie eine Beziehung zu einem anderen Schema herstellen, das diese Klasse verwendet. Weitere Informationen finden Sie im Tutorial zum Einrichten einer Beziehung zwischen zwei Schemas in der API🔗 .

API-Format

POST /tenant/classes

Anfrage

Die Anfrage zum Erstellen einer Klasse (POST) muss ein allOf-Attribut enthalten, das eine $ref zu einem von zwei Werten enthält: https://ns.adobe.com/xdm/data/record oder https://ns.adobe.com/xdm/data/time-series. Diese Werte stellen das Verhalten dar, auf dem die Klasse basiert (Datensatz oder Zeitreihe). Weiterführende Informationen zu Unterschieden zwischen Datensatzdaten und Zeitreihendaten finden Sie im Abschnitt zu Verhaltenstypen in den Grundlagen der Schemakomposition.

Beim Definieren einer Klasse können Sie auch Feldergruppen oder benutzerdefinierte Felder in die Klassendefinition einbeziehen. Dies würde dazu führen, dass die hinzugefügten Feldergruppen und Felder in allen Schemas enthalten sind, die die Klasse implementieren. Folgende Beispielanfrage definiert eine Klasse namens „Eigenschaft“, die Daten zu verschiedenen Eigenschaften erfasst, die von einer Firma besessen und genutzt werden. Sie enthält ein propertyId-Feld, das bei jeder Verwendung der Klasse eingeschlossen wird.

curl -X POST \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/classes \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
        "title":"Property",
        "description":"Properties owned and operated by the company.",
        "type":"object",
        "definitions": {
          "property": {
            "properties": {
              "_{TENANT_ID}": {
                "type": "object",
                "properties": {
                  "property": {
                    "title": "Property Information",
                    "type": "object",
                    "description": "Information about different owned and operated properties.",
                    "properties": {
                      "propertyId": {
                        "title": "Property Identification Number",
                        "type": "string",
                        "description": "Unique Property identification number"
                      }
                    }
                  }
                }
              }
            },
            "type": "object"
          }
        },
        "allOf": [
          {
            "$ref": "https://ns.adobe.com/xdm/data/record"
          },
          {
            "$ref": "#/definitions/property"
          }
        ]
      }'
Eigenschaft Beschreibung
_{TENANT_ID} Der TENANT_ID-Namespace für Ihre Organisation. Alle von Ihrem Unternehmen erstellten Ressourcen müssen diese Eigenschaft enthalten, um Kollisionen mit anderen Ressourcen im Schema Registry zu vermeiden.
allOf Eine Liste mit Ressourcen, deren Eigenschaften von der neuen Klasse geerbt werden sollen. Eines der $ref-Objekte im Array definiert das Verhalten der Klasse. In diesem Beispiel übernimmt die Klasse das Verhalten „record“.

Antwort

Eine erfolgreiche Antwort gibt den HTTP-Status 201 (Erstellt) und eine Payload mit den Details der neu erstellten Klasse zurück, einschließlich $id, meta:altId und version. Diese drei Werte sind schreibgeschützt und werden vom Schema Registry zugewiesen.

{
  "title": "Property",
  "description": "Properties owned and operated by the company.",
  "type": "object",
  "definitions": {
    "property": {
      "properties": {
        "_{TENANT_ID}": {
          "type": "object",
          "properties": {
            "property": {
              "title": "Property Information",
              "type": "object",
              "description": "Information about different owned and operated properties.",
              "properties": {
                "propertyId": {
                  "title": "Property Identification Number",
                  "type": "string",
                  "description": "Unique Property identification number",
                  "meta:xdmType": "string"
                }
              },
              "meta:xdmType": "object"
            }
          },
          "meta:xdmType": "object"
        }
      },
      "type": "object",
      "meta:xdmType": "object"
    }
  },
  "allOf": [
    {
      "$ref": "https://ns.adobe.com/xdm/data/record"
    },
    {
      "$ref": "#/definitions/property"
    }
  ],
  "meta:abstract": true,
  "meta:extensible": true,
  "meta:extends": [
    "https://ns.adobe.com/xdm/data/record"
  ],
  "meta:containerId": "tenant",
  "imsOrg": "{IMS_ORG}",
  "meta:altId": "_{TENANT_ID}.classes.19e1d8b5098a7a76e2c10a81cbc99590",
  "meta:xdmType": "object",
  "$id": "https://ns.adobe.com/{TENANT_ID}/classes/19e1d8b5098a7a76e2c10a81cbc99590",
  "version": "1.0",
  "meta:resourceType": "classes",
  "meta:registryMetadata": {
    "repo:createDate": 1552086405448,
    "repo:lastModifiedDate": 1552086405448,
    "xdm:createdClientId": "{CREATED_CLIENT}",
    "xdm:repositoryCreatedBy": "{CREATED_BY}"
  }
}

Wenn Sie eine GET-Anfrage an list all classes im tenant -Container ausführen, würde jetzt die Property -Klasse enthalten. Sie können auch eine Nachschlageanfrage (GET) mit der URL-codierten $id ausführen, um die neue Klasse direkt anzuzeigen.

Klasse aktualisieren

Sie können eine ganze Klasse durch einen PUT-Vorgang ersetzen und die Ressource im Wesentlichen neu schreiben. Beim Aktualisieren einer Klasse über eine PUT-Anfrage muss der Hauptteil alle Felder einschließen, die beim Erstellen einer neuen POST🔗 in einer Anforderung erforderlich sind.

HINWEIS

Wenn Sie nur einen Teil einer Klasse aktualisieren möchten, anstatt sie vollständig zu ersetzen, lesen Sie den Abschnitt unter Aktualisieren eines Teils einer Klasse.

API-Format

PUT /tenant/classes/{CLASS_ID}
Parameter Beschreibung
{CLASS_ID} Die meta:altId oder URL-kodierte $id der Klasse, die Sie neu schreiben möchten.

Anfrage

Mit der folgenden Anfrage wird eine vorhandene Klasse neu geschrieben, wobei die description und die title eines ihrer Felder geändert werden.

curl -X PUT \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/classes/_{TENANT_ID}.classes.19e1d8b5098a7a76e2c10a81cbc99590 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
        "title": "Property",
        "description": "Base class for properties operated by a company.",
        "type": "object",
        "definitions": {
          "property": {
            "properties": {
              "_{TENANT_ID}": {
                "type": "object",
                "properties": {
                  "property": {
                    "title": "Property Information",
                    "type": "object",
                    "description": "Information about different owned and operated properties.",
                    "properties": {
                      "propertyId": {
                        "title": "Property ID",
                        "type": "string",
                        "description": "Unique Property ID string."
                      }
                    }
                  }
                }
              }
            },
            "type": "object"
          }
        },
        "allOf": [
          {
            "$ref": "https://ns.adobe.com/xdm/data/record"
          },
          {
            "$ref": "#/definitions/property"
          }
        ]
      }'

Antwort

Eine erfolgreiche Antwort gibt die Details der aktualisierten Klasse zurück.

{
  "title": "Property",
  "description": "Base class for properties operated by a company.",
  "type": "object",
  "definitions": {
    "property": {
      "properties": {
        "_{TENANT_ID}": {
          "type": "object",
          "properties": {
            "property": {
              "title": "Property Information",
              "type": "object",
              "description": "Information about different owned and operated properties.",
              "properties": {
                "propertyId": {
                  "title": "Property ID",
                  "type": "string",
                  "description": "Unique Property ID string",
                  "meta:xdmType": "string"
                }
              },
              "meta:xdmType": "object"
            }
          },
          "meta:xdmType": "object"
        }
      },
      "type": "object",
      "meta:xdmType": "object"
    }
  },
  "allOf": [
    {
      "$ref": "https://ns.adobe.com/xdm/data/record"
    },
    {
      "$ref": "#/definitions/property"
    }
  ],
  "meta:abstract": true,
  "meta:extensible": true,
  "meta:extends": [
    "https://ns.adobe.com/xdm/data/record"
  ],
  "meta:containerId": "tenant",
  "imsOrg": "{IMS_ORG}",
  "meta:altId": "_{TENANT_ID}.classes.19e1d8b5098a7a76e2c10a81cbc99590",
  "meta:xdmType": "object",
  "$id": "https://ns.adobe.com/{TENANT_ID}/classes/19e1d8b5098a7a76e2c10a81cbc99590",
  "version": "1.0",
  "meta:resourceType": "classes",
  "meta:registryMetadata": {
    "repo:createDate": 1552086405448,
    "repo:lastModifiedDate": 1552086405448,
    "xdm:createdClientId": "{CREATED_CLIENT}",
    "xdm:repositoryCreatedBy": "{CREATED_BY}"
  }
}

Aktualisieren eines Teils einer Klasse

Sie können einen Teil einer Klasse mithilfe einer PATCH-Anfrage aktualisieren. Schema Registry unterstützt alle standardmäßigen JSON Patch-Vorgänge, einschließlich add, remove und replace. Weitere Informationen zu JSON Patch finden Sie im API-Grundlagenhandbuch.

HINWEIS

Wenn Sie eine gesamte Ressource durch neue Werte ersetzen möchten, anstatt einzelne Felder zu aktualisieren, lesen Sie den Abschnitt unter Ersetzen einer Klasse durch einen PUT-Vorgang .

API-Format

PATCH /tenant/class/{CLASS_ID} 
Parameter Beschreibung
{CLASS_ID} Die URL-kodierte $id -URI oder meta:altId der Klasse, die Sie aktualisieren möchten.

Anfrage

Die folgende Beispielanfrage aktualisiert die description einer vorhandenen Klasse und die title eines ihrer Felder.

Der Anfragetext hat die Form eines Arrays, wobei jedes aufgelistete Objekt eine bestimmte Änderung an einem einzelnen Feld darstellt. Jedes Objekt enthält den auszuführenden Vorgang (op), das Feld, für das der Vorgang ausgeführt werden soll (path), und welche Informationen in diesem Vorgang enthalten sein sollen (value).

curl -X PATCH \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/classes/_{TENANT_ID}.classes.19e1d8b5098a7a76e2c10a81cbc99590 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'content-type: application/json' \
  -d '[
        { "op": "replace", "path": "/description", "value":  "Base class for properties operated by a company."},
        { "op": "replace", "path": "/definitions/property/properties/_{TENANT_ID}/properties/property/properties/propertyId/title", "value": "Unique Property ID string" }
      ]'

Antwort

Die Antwort zeigt, dass beide Vorgänge erfolgreich durchgeführt wurden. Das description wurde zusammen mit dem title-Feld propertyId aktualisiert.

{
  "title": "Property",
  "description": "Base class for properties operated by a company.",
  "type": "object",
  "definitions": {
    "property": {
      "properties": {
        "_{TENANT_ID}": {
          "type": "object",
          "properties": {
            "property": {
              "title": "Property Information",
              "type": "object",
              "description": "Information about different owned and operated properties.",
              "properties": {
                "propertyId": {
                  "title": "Property ID",
                  "type": "string",
                  "description": "Unique Property ID string",
                  "meta:xdmType": "string"
                }
              },
              "meta:xdmType": "object"
            }
          },
          "meta:xdmType": "object"
        }
      },
      "type": "object",
      "meta:xdmType": "object"
    }
  },
  "allOf": [
    {
      "$ref": "https://ns.adobe.com/xdm/data/record"
    },
    {
      "$ref": "#/definitions/property"
    }
  ],
  "meta:abstract": true,
  "meta:extensible": true,
  "meta:extends": [
    "https://ns.adobe.com/xdm/data/record"
  ],
  "meta:containerId": "tenant",
  "imsOrg": "{IMS_ORG}",
  "meta:altId": "_{TENANT_ID}.classes.19e1d8b5098a7a76e2c10a81cbc99590",
  "meta:xdmType": "object",
  "$id": "https://ns.adobe.com/{TENANT_ID}/classes/19e1d8b5098a7a76e2c10a81cbc99590",
  "version": "1.0",
  "meta:resourceType": "classes",
  "meta:registryMetadata": {
    "repo:createDate": 1552086405448,
    "repo:lastModifiedDate": 1552086405448,
    "xdm:createdClientId": "{CREATED_CLIENT}",
    "xdm:repositoryCreatedBy": "{CREATED_BY}"
  }
}

Klasse löschen

Gelegentlich kann es erforderlich sein, eine Klasse aus der Schema Registry zu entfernen. Dies geschieht durch Ausführen einer DELETE-Anfrage mit der im Pfad angegebenen Klassen-ID.

API-Format

DELETE /tenant/classes/{CLASS_ID}
Parameter Beschreibung
{CLASS_ID} Die URL-kodierte $id -URI oder meta:altId der Klasse, die Sie löschen möchten.

Anfrage

curl -X DELETE \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/classes/_{TENANT_ID}.classes.d5cc04eb8d50190001287e4c869ebe67 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Antwort

Eine erfolgreiche Antwort gibt den HTTP-Status 204 (Kein Inhalt) und leeren Text zurück.

Sie können den Löschvorgang bestätigen, indem Sie eine Nachschlageanfrage (GET) für die Klasse ausführen. Sie müssen einen Accept-Header in die Anfrage einbeziehen, sollten jedoch einen HTTP-Status 404 (Nicht gefunden) erhalten, da die Klasse aus der Schema Registry entfernt wurde.

Auf dieser Seite