Een XDM-veld in de API verwijderen

In het Model van Gegevens van de Ervaring (XDM), kunt u een gebied binnen een schema of douanemiddel verwerpen door de Registratie API van het Schema te gebruiken. Als u een veld verwijdert, wordt dit verborgen in downstreamgebruikersinterface's zoals de Profiles -werkruimte en -Customer Journey Analytics, maar anders is het een vaste wijziging die geen negatieve invloed heeft op bestaande gegevensstromen.

In dit document wordt beschreven hoe velden voor verschillende XDM-bronnen moeten worden vervangen. Voor stappen bij het afschilderen van een XDM gebied gebruikend de Redacteur van het Schema in het gebruikersinterface van het Experience Platform, zie het leerprogramma op afschilderend een XDM gebied in UI.

Aan de slag

Deze zelfstudie vereist het maken van aanroepen naar de Schemaregistratie-API. Gelieve te herzien de ontwikkelaarsgidsvoor belangrijke informatie die u moet kennen om deze API vraag te maken. Dit omvat uw {TENANT_ID} , het concept "containers" en de vereiste kopteksten voor het indienen van aanvragen (met speciale aandacht voor de header Accept en de mogelijke waarden ervan).

Een aangepast veld verwijderen custom

Als u een veld in een aangepaste klasse, veldgroep of gegevenstype wilt vervangen, werkt u de aangepaste bron bij via een PUT- of PATCH-aanvraag en voegt u het kenmerk meta:status: deprecated toe aan het desbetreffende veld.

NOTE
Raadpleeg de volgende documentatie voor algemene informatie over het bijwerken van aangepaste bronnen in XDM:

Met de API-voorbeeldaanroep hieronder wordt een veld in een aangepast gegevenstype vervangen.

API formaat

PATCH /tenant/datatypes/{DATA_TYPE_ID}

Verzoek

In het volgende verzoek wordt het veld expansionArea vervangen voor een gegevenstype dat een eigenschap real-property beschrijft.

curl -X PATCH \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/datatypes/_{TENANT_ID}.datatypes.8779fd45d6e4eb074300023a439862bbba359b60d451627a \
  -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": "add",
          "path": "/properties/expansionArea/meta:status",
          "value": "deprecated"
        }
      ]'

Reactie

Een geslaagde reactie retourneert de updatedetails van de aangepaste bron, waarbij het vervangen veld de meta:status waarde deprecated bevat. De voorbeeldreactie hieronder is afgebroken voor de ruimte.

{
  "$id": "https://ns.adobe.com/{TENANT_ID}/datatypes/8779fd45d6e4eb074300023a439862bbba359b60d451627a",
  "meta:altId": "_{TENANT_ID}.datatypes.8779fd45d6e4eb074300023a439862bbba359b60d451627a",
  "meta:resourceType": "datatypes",
  "version": "1.2",
  "title": "Property Details",
  "type": "object",
  "description": "Details relating to a real-estate property operated by the company.",
  "definitions": {
    "property": {
      "properties": {
        "_{TENANT_ID}": {
        "type":"object",
        "properties": {
            "expansionArea": {
              "title": "Expansion Area",
              "description": "Square footage for renovated additions to the property.",
              "type": "integer",
              "meta:status": "deprecated",
            },
            "propertyName": {
              "title": "Property Name",
              "description": "Name of the property",
              "type": "string"
            },
            "propertyCity": {
              "title": "Property City",
              "description": "City where the property is located.",
              "type": "string"
            },
            "propertyCountry": {
              "title": "Property Country",
              "description": "Country where the property is located.",
              "type": "string"
            },
            "phoneNumber": {
              "title": "Phone Number",
              "description": "Primary phone number for the property.",
              "type": "string"
            },
            "propertyType": {
              "type": "string",
              "title": "Property Type",
              "description": "Type and primary use of property.",
              "enum": [
                  "retail",
                  "yoga",
                  "fitness"
              ],
              "meta:enum": {
                  "retail": "Retail Store",
                  "yoga": "Yoga Studio",
                  "fitness": "Fitness Center"
              }
            },
            "propertyConstruction": {
              "$ref": "https://ns.adobe.com/{TENANT_ID}/datatypes/24c643f618647344606222c494bd0102"
            },
            "squareFeet": {
              "title": "Expansion Area",
              "description": "Square footage for renovated additions to the property.",
              "type": "integer",
            }
          }
        }
      }
    }
  },
  "allOf": [
    {
      "$ref": "#/definitions/customFields",
      "type": "object",
      "meta:xdmType": "object"
    }
  ],
  "imsOrg": "{IMS_ORG}",
  "meta:extensible": true,
  "meta:abstract": true,
  "meta:intendedToExtend": [
    "https://ns.adobe.com/xdm/context/profile"
  ],
  "meta:xdmType": "object",
  "meta:registryMetadata": {
    "repo:createdDate": 1594941263588,
    "repo:lastModifiedDate": 1594941538433,
    "xdm:createdClientId": "{CLIENT_ID}",
    "xdm:lastModifiedClientId": "{CLIENT_ID}",
    "xdm:createdUserId": "{USER_ID}",
    "xdm:lastModifiedUserId": "{USER_ID}",
    "eTag": "5e8a5e508eb2ed344c08cb23ed27cfb60c841bec59a2f7513deda0f7af903021",
    "meta:globalLibVersion": "1.15.4"
  },
  "meta:containerId": "tenant",
  "meta:tenantNamespace": "_{TENANT_ID}"
}

Een standaardveld in een schema verwijderen standard

Velden van standaardklassen, veldgroepen en gegevenstypen kunnen niet rechtstreeks worden vervangen. In plaats daarvan, kunt u hun gebruik in de individuele schema's verwerpen die deze standaardmiddelen door een beschrijver gebruiken.

Een beschrijving van de veldafdrukking maken create-descriptor

Als u een descriptor wilt maken voor de schemavelden die u wilt vervangen, vraagt u een POST om het /tenant/descriptors -eindpunt.

API formaat

POST /tenant/descriptors

Verzoek

curl -X POST \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors \
  -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 '{
        "@type": "xdm:descriptorDeprecated",
        "xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/c65ddf08cf2d4a2fe94bd06113bf4bc4c855e12a936410d5",
        "xdm:sourceVersion": 1,
        "xdm:sourceProperty": "/faxPhone"
      }'
Eigenschap
Beschrijving
@type
Het type descriptor. Voor een beschrijving van de gebiedsafbeelding moet deze waarde worden ingesteld op xdm:descriptorDeprecated .
xdm:sourceSchema
De URI $id van het schema waarop u de descriptor toepast.
xdm:sourceVersion
De versie van het schema waarop u de descriptor toepast. Moet worden ingesteld op 1 .
xdm:sourceProperty
Het pad naar de eigenschap in het schema waarop u de descriptor toepast. Als u de descriptor op meerdere eigenschappen wilt toepassen, kunt u een lijst met paden opgeven in de vorm van een array (bijvoorbeeld ["/firstName", "/lastName"] ).

Reactie

{
    "@id": "d882b1202bac0ac71f1e31fbcd9afbcc37f364270186b4b3",
    "@type": "xdm:descriptorDeprecated",
    "xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/c65ddf08cf2d4a2fe94bd06113bf4bc4c855e12a936410d5",
    "xdm:sourceVersion": 1,
    "xdm:sourceProperty": "/faxPhone",
    "imsOrg": "{IMS_ORG}",
    "version": "1",
    "meta:containerId": "tenant",
    "meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
    "meta:sandboxType": "production"
}

Het vervangen veld controleren verify-deprecation

Nadat de descriptor is toegepast, kunt u controleren of het veld is vervangen door het betreffende schema op te zoeken terwijl u de juiste Accept header gebruikt.

NOTE
Afgekeurde velden worden weergegeven als aanbiedingsschema's momenteel niet worden ondersteund.

API formaat

GET /tenant/schemas

Verzoek

Als u informatie over vervangen velden wilt opnemen in de API-reactie, moet u de header Accept instellen op application/vnd.adobe.xed-deprecatefield+json; version=1 .

curl -X GET \
  https://platform.adobe.io/data/foundation/schemaregistry/tenant/schemas/_{TENANT_ID}.schemas.c65ddf08cf2d4a2fe94bd06113bf4bc4c855e12a936410d5 \
  -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 'Accept: application/vnd.adobe.xed-deprecatefield+json; version=1'

Reactie

Wanneer de reactie met succes is uitgevoerd, worden de details van het schema geretourneerd. Het vervangen veld bevat de waarde meta:status deprecated . De voorbeeldreactie hieronder is afgebroken voor de ruimte.

"faxPhone": {
    "title": "Fax phone",
    "description": "Fax phone number.",
    "type": "object",
    "meta:xdmType": "object",
    "properties": {},
    "meta:referencedFrom": "https://ns.adobe.com/xdm/context/phonenumber",
    "meta:xdmField": "xdm:faxPhone",
    "meta:status": "deprecated"
}

Volgende stappen

In dit document wordt beschreven hoe u XDM-velden kunt vervangen met de API voor schemaregistratie. Voor meer informatie bij het vormen van gebieden voor douanemiddelen, zie de gids bij het bepalen van gebieden XDM in API. Voor meer informatie bij het beheren van beschrijvers, zie de gids van het beschrijvingseindpunt.

recommendation-more-help
62e9ffd9-1c74-4cef-8f47-0d00af32fc07