Gegevensgebruikslabels voor gegevenssets beheren met behulp van API's
De Dataset Service API kunt u gebruiksetiketten voor datasets toepassen en uitgeven. Het maakt deel uit van de mogelijkheden van de Adobe Experience Platform-gegevenscatalogus, maar staat los van de Catalog Service API die gegevenssetmetagegevens beheert.
In dit document wordt beschreven hoe u labels voor gegevenssets en velden kunt beheren met de Dataset Service API. Voor stappen over hoe te om de etiketten van het gegevensgebruik zelf te beheren die API vraag gebruiken, zie eindhulplijn voor labels voor de Policy Service API.
Aan de slag
Volg de stappen in het dialoogvenster aan de slag, sectie in de de ontwikkelaarsgids van de Catalogus om de vereiste geloofsbrieven te verzamelen om vraag te maken aan Platform API's.
Als u aanroepen wilt uitvoeren naar de eindpunten die in dit document worden beschreven, moet u beschikken over de id
waarde voor een specifieke gegevensset. Als u deze waarde niet hebt, raadpleegt u de handleiding Catalogusobjecten weergeven om id's van uw bestaande gegevenssets te zoeken.
De etiketten van de raadpleging voor een dataset look-up
U kunt de etiketten van het gegevensgebruik opzoeken die op een bestaande dataset zijn toegepast door een verzoek van de GET tot aan Dataset Service API.
API-indeling
GET /datasets/{DATASET_ID}/labels
{DATASET_ID}
id
waarde van de dataset de waarvan etiketten u omhoog wilt kijken.Verzoek
curl -X GET \
'https://platform.adobe.io/data/foundation/dataset/datasets/5abd49645591445e1ba04f87/labels' \
-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}'
Antwoord
Een succesvolle reactie keert de etiketten van het gegevensgebruik terug die op de dataset zijn toegepast.
{
"AEP:dataset:5abd49645591445e1ba04f87": {
"imsOrg": "{ORG_ID}",
"labels": [ "C1", "C2", "C3", "I1", "I2" ],
"optionalLabels": [
{
"option": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/c6b1b09bc3f2ad2627c1ecc719826836",
"contentType": "application/vnd.adobe.xed-full+json;version=1",
"schemaPath": "/properties/repositoryCreatedBy"
},
"labels": [ "S1", "S2" ]
}
]
}
}
labels
optionalLabels
Labels toepassen op een gegevensset apply
U kunt een reeks etiketten voor een volledige dataset toepassen door hen in de nuttige lading van een POST of een verzoek van de PUT op te geven Dataset Service API. Het verzoeklichaam is het zelfde voor beide vraag. U kunt geen labels toevoegen aan afzonderlijke gegevenssetvelden.
API-indeling
POST /datasets/{DATASET_ID}/labels
PUT /datasets/{DATASET_ID}/labels
{DATASET_ID}
id
waarde van de dataset waarvoor u etiketten creeert.Verzoek
Het verzoek van de POST van het voorbeeld hieronder werkt de volledige dataset met a bij C1
label. De velden in de payload zijn gelijk aan de velden die vereist zijn voor een PUT-aanvraag.
Wanneer het maken van API vraag die de bestaande etiketten van een dataset (PUT) bijwerkt, en If-Match
kopbal die op de huidige versie van de dataset-etiket entiteit in de Dienst van de Dataset wijst moet worden omvat. Om gegevensbotsingen te verhinderen, zal de dienst slechts de datasetentiteit bijwerken als inbegrepen If-Match
tekenreeks komt overeen met de laatste versietag die door het systeem voor die dataset is gegenereerd.
If-Match
header. Nadat labels aan een gegevensset zijn toegevoegd, is de meest recente etag
waarde is vereist om de labels later bij te werken of te verwijderenAlvorens de methode van de PUT uit te voeren, moet u een verzoek van de GET op de datasetetiketten uitvoeren. Zorg ervoor dat u alleen de specifieke velden bijwerkt die zijn bedoeld voor wijziging in de aanvraag, en laat de rest ongewijzigd. Bovendien, zorg ervoor dat de vraag van de PUT de zelfde ouderentiteiten zoals de vraag van de GET handhaaft. Elke discrepantie zou resulteren in een fout voor de klant.
Om de meest recente versie van de dataset-etiket entiteit terug te winnen, maak een Verzoek om GET aan de /datasets/{DATASET_ID}/labels
eindpunt. De huidige waarde wordt geretourneerd in de reactie onder een etag
header. Wanneer het bijwerken van bestaande datasetetiketten, moeten de beste praktijken eerst een raadplegingsverzoek voor de dataset uitvoeren om zijn recentste te halen etag
waarde vóór gebruik van die waarde in de If-Match
koptekst van uw volgende verzoek om PUT.
curl -X POST \
'https://platform.adobe.io/data/foundation/dataset/datasets/5abd49645591445e1ba04f87/labels' \
-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 '{
"entityId": {
"namespace": "AEP",
"id": "test-ds-id",
"type": "dataset"
},
"labels": [
"C1"
],
"parents": []
} '
entityId
entityId.namespace
namespace
is AEP
.entityId.id
datasetId
.entityId.type
dataset
.labels
parents
parents
array bevat een lijst met entityId
s dat deze dataset etiketten van zal erven. Datasets kunnen labels overnemen van schema's en/of gegevenssets.Antwoord
Een succesvolle reactie keert de bijgewerkte reeks etiketten voor de dataset terug.
optionalLabels
eigenschap is vervangen voor gebruik met POST-aanvragen. Het is niet meer mogelijk om gegevensetiketten aan datasetgebieden toe te voegen. Een POST-bewerking zal een fout veroorzaken als een optionalLabel
waarde aanwezig is. U kunt echter labels uit afzonderlijke velden verwijderen met behulp van een PUT-aanvraag en de optionalLabels
eigenschap. Zie voor meer informatie de sectie over het verwijderen van etiketten uit een dataset.{
"parents": [
{
"id": "_ddgduleint.schemas.4a95cdba7d560e3bca7d8c5c7b58f00ca543e2bb1e4137d6",
"type": "schema",
"namespace": "AEP"
}
],
"optionalLabels": [],
"labels": [
"C1"
],
"code": "PES-201",
"message": "POST Successful"
}
Labels uit een gegevensset verwijderen remove
U kunt eerder toegepaste veldlabels verwijderen door de bestaande optionalLabels
waarde(n) met een subset van de bestaande veldlabels of een lege lijst om deze volledig te verwijderen. Voer een verzoek van de PUT in aan de Dataset Service API om eerder toegepaste labels bij te werken of te verwijderen.
API-indeling
PUT /datasets/{DATASET_ID}/labels
{DATASET_ID}
id
waarde van de dataset waarvoor u etiketten creeert.Verzoek
De hieronder dataset waarop de verrichting van de PUT wordt toegepast had C1 optionalLabel op eigenschappen/person/properties/address gebied en C1, C2 optionalLabels op /properties/person/properties/name/properties/fullName gebied. Na de putoptie heeft het eerste veld geen label (label C1 verwijderd) en het tweede veld heeft alleen het label C1 (label C2 verwijderd)
In het onderstaande voorbeeldscenario wordt een aanvraag voor een PUT gebruikt om labels te verwijderen die aan afzonderlijke velden zijn toegevoegd. Voordat het verzoek werd ingediend, fullName
het veld had C1
en C2
toegepaste labels en de address
veld had al een C1
label toegepast. De aanvraag PUT negeert bestaande labels C1, C2
van de fullName
veld met een C1
label gebruiken optionalLabels.labels
parameter. Het verzoek negeert ook het C1
van de address
veld met een lege set veldlabels.
curl -X PUT \
'https://platform.adobe.io/data/foundation/dataset/datasets/5abd49645591445e1ba04f87/labels' \
-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' \
-H 'If-Match: 8f00d38e-0000-0200-0000-5ef4fc6d0000' \
-d '{
"entityId": {
"namespace": "AEP",
"id": "646b814d52e1691c07b41032",
"type": "dataset"
},
"labels": [
"C1"
],
"parents": [
{
"id": "_xdm.context.identity-graph-flattened-export",
"type": "schema",
"namespace": "AEP"
}
],
"optionalLabels": [
{
"option": {
"id": "https://ns.adobe.com/xdm/context/identity-graph-flattened-export",
"contentType": "application/vnd.adobe.xed-full+json;version=1",
"schemaPath": "/properties/person/properties/name/properties/fullName"
},
"labels": [
"C1"
]
},
{
"option": {
"id": "https://ns.adobe.com/xdm/context/identity-graph-flattened-export",
"contentType": "application/vnd.adobe.xed-full+json;version=1",
"schemaPath": "/properties/person/properties/address"
},
"labels": []
}
]
}'
entityId
entityId
moeten de volgende drie waarden bevatten:namespace
: Dit wordt gebruikt om botsingen van identiteitskaart te vermijden. De namespace
is AEP
.id
: De id van de bron die wordt bijgewerkt. Dit heeft betrekking op de datasetId
.type
: Het type van de bron die wordt bijgewerkt. Dit zal altijd dataset
.labels
parents
parents
array bevat een lijst met entityId
s dat deze dataset etiketten van zal erven. Datasets kunnen labels overnemen van schema's en/of gegevenssets.optionalLabels
Deze parameter wordt gebruikt om etiketten te verwijderen die eerder op een datasetgebied worden toegepast. Een lijst van om het even welke individuele gebieden binnen de dataset die u de etiketten wilt verwijderen. Elk item in deze array moet de volgende eigenschappen hebben:option
: Een object dat de eigenschap Experience Data Model (XDM)-kenmerken van het veld. De volgende drie eigenschappen zijn vereist:
id
: De URI$id
De waarde van het schema dat aan het veld is gekoppeld.contentType
: Het inhoudstype en het versienummer van het schema. Dit moet de vorm aannemen van een van de Koppen accepteren voor een XDM opzoekverzoek.schemaPath
: De weg aan het gebied binnen het schema van de dataset.
labels
: Deze waarde moet een subset van de bestaande toegepaste veldlabels bevatten of leeg zijn om alle bestaande veldlabels te verwijderen. De methoden PUT of POST retourneren nu een fout als de optionalLabels
veld bevat nieuwe of gewijzigde labels.
Antwoord
Een succesvolle reactie keert de bijgewerkte reeks etiketten voor de dataset terug.
{
"parents": [
{
"id": "_xdm.context.identity-graph-flattened-export",
"type": "schema",
"namespace": "AEP"
}
],
"optionalLabels": [],
"labels": [
"C1"
],
"code": "PES-200",
"message": "PUT Successful"
}
Volgende stappen
Door dit document te lezen hebt u geleerd hoe u gegevensgebruikslabels voor gegevenssets en velden kunt beheren met de Dataset Service API. U kunt nu definiëren beleid voor gegevensgebruik en toegangsbeheerbeleid op basis van de labels die u hebt toegepast.
Voor meer informatie over het beheren van datasets in Experience Platform, zie de Overzicht van gegevenssets.