Gestire le etichette di utilizzo dei dati per i set di dati utilizzando le API
Dataset Service API consente di applicare e modificare le etichette di utilizzo per i set di dati. Fa parte delle funzionalità del catalogo dati di Adobe Experience Platform, ma è separata dall'API Catalog Service che gestisce i metadati del set di dati.
Questo documento illustra come gestire le etichette per set di dati e campi utilizzando Dataset Service API. Per i passaggi su come gestire autonomamente le etichette di utilizzo dei dati tramite chiamate API, consulta la guida dell'endpoint delle etichette per Policy Service API.
Introduzione
Prima di leggere questa guida, segui i passaggi descritti nella sezione introduttiva nella guida per sviluppatori di Catalog per raccogliere le credenziali necessarie per effettuare chiamate alle API Platform.
Per effettuare chiamate agli endpoint descritti in questo documento, è necessario disporre del valore id
univoco per un set di dati specifico. Se non disponi di questo valore, consulta la guida in elenco di oggetti Catalog per trovare gli ID dei set di dati esistenti.
Cercare etichette per un set di dati look-up
Per cercare le etichette di utilizzo dei dati applicate a un set di dati esistente, effettuare una richiesta GET all'API Dataset Service.
Formato API
GET /datasets/{DATASET_ID}/labels
{DATASET_ID}
id
univoco del set di dati di cui si desidera cercare le etichette.Richiesta
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}'
Risposta
In caso di esito positivo, la risposta restituisce le etichette di utilizzo dei dati applicate al set di dati.
{
"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
Applicare etichette a un set di dati apply
È possibile applicare un set di etichette per un intero set di dati fornendole nel payload di una richiesta POST o PUT all'API Dataset Service. Il corpo della richiesta è lo stesso per entrambe le chiamate. Non è possibile aggiungere etichette ai singoli campi del set di dati.
Formato API
POST /datasets/{DATASET_ID}/labels
PUT /datasets/{DATASET_ID}/labels
{DATASET_ID}
id
univoco del set di dati per il quale si stanno creando le etichette.Richiesta
La richiesta POST di esempio seguente aggiorna l'intero set di dati con un'etichetta C1
. I campi forniti nel payload sono gli stessi richiesti per una richiesta PUT.
Quando si eseguono chiamate API che aggiornano le etichette esistenti di un set di dati (PUT), è necessario includere un'intestazione If-Match
che indica la versione corrente dell'entità etichetta del set di dati in Dataset Service. Per evitare conflitti di dati, il servizio aggiorna l'entità set di dati solo se la stringa If-Match
inclusa corrisponde all'ultimo tag di versione generato dal sistema per tale set di dati.
If-Match
. Dopo aver aggiunto le etichette a un set di dati, è necessario specificare il valore etag
più recente per aggiornare o rimuovere le etichette in un secondo momentoPrima di eseguire il metodo PUT, è necessario eseguire una richiesta GET sulle etichette del set di dati. Assicurati di aggiornare solo i campi specifici destinati alla modifica nella richiesta, lasciando invariati gli altri. Inoltre, assicurati che la chiamata PUT mantenga le stesse entità principali della chiamata GET. Qualsiasi discrepanza genererebbe un errore per il cliente.
Per recuperare la versione più recente dell'entità etichetta del set di dati, eseguire una richiesta di GET all'endpoint /datasets/{DATASET_ID}/labels
. Il valore corrente viene restituito nella risposta sotto un'intestazione etag
. Quando si aggiornano le etichette dei set di dati esistenti, è consigliabile eseguire prima una richiesta di ricerca per il set di dati per recuperare il valore etag
più recente prima di utilizzare tale valore nell'intestazione If-Match
della richiesta PUT successiva.
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
è AEP
.entityId.id
datasetId
.entityId.type
dataset
.labels
parents
parents
contiene un elenco di entityId
da cui questo set di dati erediterà le etichette. I set di dati possono ereditare le etichette da schemi e/o set di dati.Risposta
In caso di esito positivo, la risposta restituisce il set aggiornato di etichette per il set di dati.
optionalLabels
è stata dichiarata obsoleta per l'utilizzo con le richieste POST. Non è più possibile aggiungere etichette dati ai campi del set di dati. Un'operazione POST genererà un errore se è presente un valore optionalLabel
. Tuttavia, è possibile eliminare le etichette dai singoli campi utilizzando una richiesta PUT e la proprietà optionalLabels
. Per ulteriori informazioni, vedere la sezione relativa alla rimozione di etichette da un set di dati.{
"parents": [
{
"id": "_ddgduleint.schemas.4a95cdba7d560e3bca7d8c5c7b58f00ca543e2bb1e4137d6",
"type": "schema",
"namespace": "AEP"
}
],
"optionalLabels": [],
"labels": [
"C1"
],
"code": "PES-201",
"message": "POST Successful"
}
Rimuovere le etichette da un set di dati remove
È possibile rimuovere le etichette di campo applicate in precedenza aggiornando i valori optionalLabels
esistenti con un sottoinsieme delle etichette di campo esistenti o con un elenco vuoto per rimuoverle completamente. Effettuare una richiesta PUT all'API Dataset Service per aggiornare o rimuovere le etichette applicate in precedenza.
labels
. Non è obbligatorio che un set di dati conservi etichette.Formato API
PUT /datasets/{DATASET_ID}/labels
{DATASET_ID}
id
univoco del set di dati per il quale si stanno creando le etichette.Richiesta
Il seguente set di dati su cui viene applicata l’operazione PUT aveva C1 optionalLabel sul campo properties/person/properties/address e C1, C2 optionalLabels sul campo /properties/person/properties/name/fullName. Dopo l’operazione put, il primo campo non avrà alcuna etichetta (l’etichetta C1 è stata rimossa) e il secondo campo avrà solo l’etichetta C1 (l’etichetta C2 è stata rimossa)
Nell’esempio seguente, viene utilizzata una richiesta PUT per rimuovere le etichette aggiunte ai singoli campi. Prima della richiesta, al campo fullName
erano applicate le etichette C1
e C2
e al campo address
era già applicata l'etichetta C1
. La richiesta PUT sostituisce le etichette esistenti C1, C2
dal campo fullName
con un'etichetta C1
utilizzando il parametro optionalLabels.labels
. La richiesta sostituisce anche l'etichetta C1
del campo address
con un set vuoto di etichette di campo.
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
deve includere i tre valori seguenti:namespace
: utilizzato per evitare conflitti tra ID. namespace
è AEP
.id
: ID della risorsa da aggiornare. Si riferisce a datasetId
.type
: tipo di risorsa da aggiornare. Questo sarà sempre dataset
.labels
parents
parents
contiene un elenco di entityId
da cui questo set di dati erediterà le etichette. I set di dati possono ereditare le etichette da schemi e/o set di dati.optionalLabels
Questo parametro viene utilizzato per rimuovere le etichette applicate in precedenza a un campo set di dati. Elenco dei singoli campi all’interno del set di dati da cui desideri rimuovere le etichette. Ogni elemento in questo array deve avere le seguenti proprietà:option
: un oggetto che contiene gli attributi Experience Data Model (XDM) del campo. Sono necessarie le tre proprietà seguenti:
id
: URI$id
valore dello schema associato al campo.contentType
: tipo di contenuto e numero di versione dello schema. Deve essere una delle intestazioni Accept valide per una richiesta di ricerca XDM.schemaPath
: percorso del campo nello schema del set di dati.
labels
: questo valore deve contenere un sottoinsieme delle etichette di campo esistenti applicate o essere vuoto per rimuovere tutte le etichette di campo esistenti. I metodi PUT o POST ora restituiscono un errore se il campo optionalLabels
contiene etichette nuove o modificate.
Risposta
In caso di esito positivo, la risposta restituisce il set aggiornato di etichette per il set di dati.
{
"parents": [
{
"id": "_xdm.context.identity-graph-flattened-export",
"type": "schema",
"namespace": "AEP"
}
],
"optionalLabels": [],
"labels": [
"C1"
],
"code": "PES-200",
"message": "PUT Successful"
}
Passaggi successivi
Dopo aver letto questo documento, hai imparato a gestire le etichette di utilizzo dei dati per set di dati e campi utilizzando l'API Dataset Service. È ora possibile definire criteri di utilizzo dati e criteri di controllo dell'accesso in base alle etichette applicate.
Per ulteriori informazioni sulla gestione dei set di dati in Experience Platform, vedere la panoramica dei set di dati.