Skapa ett schema med en standardklass

Ett schema kan ses som en plan för de data som du vill importera till Experience Platform. Varje schema består av en klass och noll eller flera schemafältgrupper. Du behöver alltså inte lägga till en fältgrupp för att definiera ett schema, men i de flesta fall används minst en fältgrupp.

Tilldela en klass

Schemadispositionsprocessen börjar med att en klass väljs. Klassen definierar viktiga beteendeaspekter för data (post- eller tidsserier) samt de minimifält som krävs för att beskriva de data som ska importeras.

Schemat som du gör i den här självstudien använder klassen XDM Individual Profile. XDM Individual Profile är en standardklass som tillhandahålls av Adobe för att definiera postbeteende. Mer information om beteendet finns i Grunderna för schemakomposition.

Om du vill tilldela en klass görs ett API-anrop för att skapa (POST) ett nytt schema i innehavarbehållaren. Det här anropet innehåller den klass som schemat ska implementera. Varje schema kan bara implementera en klass.

API-format

POST /tenant/schemas

Begäran

Begäran måste innehålla ett allOf-attribut som refererar till $id för en klass. Det här attributet definierar den "basklass" som schemat ska implementera. I det här exemplet är basklassen klassen XDM Individual Profile. $id i klassen XDM Individual Profile används som värde för fältet $ref i arrayen allOf nedan.

curl -X POST \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/schemas \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
        "type": "object",
        "title": "Loyalty Members",
        "description": "Information for all members of the loyalty program",
        "allOf": [
            {
              "$ref": "https://ns.adobe.com/xdm/context/profile"
            }
        ]
      }'

Svar

En lyckad begäran returnerar HTTP-svarsstatus 201 (Skapad) med en svarstext som innehåller information om det nyligen skapade schemat, inklusive $id, meta:altIt och version. Dessa värden är skrivskyddade och tilldelas av Schema Registry.

{
  "$id": "https://ns.adobe.com/tenantId/schemas/ee56b80adc7e03b8214e135a28538fe83c7f85bf87f565b3",
  "meta:altId": "_tenantId.schemas.ee56b80adc7e03b8214e135a28538fe83c7f85bf87f565b3",
  "meta:resourceType": "schemas",
  "version": "1.0",
  "title": "Loyalty Members",
  "type": "object",
  "description": "Information for all members of the loyalty program",
  "allOf": [
    {
      "$ref": "https://ns.adobe.com/xdm/context/profile",
      "type": "object",
      "meta:xdmType": "object"
    }
  ],
  "refs": [
    "https://ns.adobe.com/xdm/context/profile"
  ],
  "imsOrg": "{ORG_ID}",
  "meta:extensible": false,
  "meta:abstract": false,
  "meta:extends": [
    "https://ns.adobe.com/xdm/common/auditable",
    "https://ns.adobe.com/xdm/data/record",
    "https://ns.adobe.com/xdm/context/profile"
  ],
  "meta:xdmType": "object",
  "meta:registryMetadata": {
    "repo:createdDate": 1673310304048,
    "repo:lastModifiedDate": 1673310304048,
    "xdm:createdClientId": "{CLIENT_ID}",
    "xdm:lastModifiedClientId": "{CLIENT_ID}",
    "xdm:createdUserId": "{USER_ID}",
    "xdm:lastModifiedUserId": "{USER_ID}",
    "eTag": "6d2ed8acd9c3b768a44de29e069fc6f71329d2550f708381d22fa8bf8c192366",
    "meta:globalLibVersion": "1.38.2"
  },
  "meta:class": "https://ns.adobe.com/xdm/context/profile",
  "meta:containerId": "tenant",
  "meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
  "meta:sandboxType": "production",
  "meta:tenantNamespace": "_tenantId"
}