Endpoint di gestione sandbox
Le sandbox in Adobe Experience Platform forniscono ambienti di sviluppo isolati che consentono di testare le funzioni, eseguire esperimenti e creare configurazioni personalizzate senza influire sull’ambiente di produzione. Il /sandboxes
endpoint nella Sandbox API consente di gestire in modo programmatico le sandbox in Platform.
Introduzione
L’endpoint API utilizzato in questa guida fa parte del Sandbox API. Prima di continuare, controlla guida introduttiva per i collegamenti alla documentazione correlata, una guida per la lettura delle chiamate API di esempio di questo documento e informazioni importanti sulle intestazioni richieste necessarie per effettuare correttamente le chiamate a qualsiasi API di Experienci Platform.
Recuperare un elenco di sandbox list
Per elencare tutte le sandbox appartenenti alla tua organizzazione (attive o meno), devi effettuare una richiesta GET al /sandboxes
endpoint.
Formato API
GET /sandboxes?{QUERY_PARAMS}
{QUERY_PARAMS}
Richiesta
curl -X GET \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes?&limit=4&offset=1 \
-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 un elenco di sandbox appartenenti alla tua organizzazione, inclusi dettagli quali name
, title
, state
, e type
.
{
"sandboxes": [
{
"name": "prod",
"title": "Production",
"state": "active",
"type": "production",
"region": "VA7",
"isDefault": true,
"eTag": 2,
"createdDate": "2019-09-04 04:57:24",
"lastModifiedDate": "2019-09-04 04:57:24",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "dev",
"title": "Development",
"state": "active",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-03 22:27:48",
"lastModifiedDate": "2019-09-03 22:27:48",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "stage",
"title": "Staging",
"state": "active",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-03 22:27:48",
"lastModifiedDate": "2019-09-03 22:27:48",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
},
{
"name": "dev-2",
"title": "Development 2",
"state": "creating",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-07 10:16:02",
"lastModifiedDate": "2019-09-07 10:16:02",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
}
],
"_page": {
"limit": 4,
"count": 4
},
"_links": {
"next": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes/?limit={limit}&offset={offset}",
"templated": true
},
"prev": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes?offset=0&limit=1",
"templated": null
},
"page": {
"href": "https://platform.adobe.io:443/data/foundation/sandbox-management/sandboxes?offset=1&limit=1",
"templated": null
}
}
}
name
title
state
Lo stato di elaborazione corrente della sandbox. Lo stato di una sandbox può essere uno dei seguenti:
creating
: la sandbox è stata creata ma è ancora in fase di provisioning da parte del sistema.active
: la sandbox viene creata e attivata.failed
: a causa di un errore, non è stato possibile eseguire il provisioning della sandbox da parte del sistema ed è disabilitata.deleted
: la sandbox è stata disabilitata manualmente.
type
development
e production
.isDefault
eTag
Cercare una sandbox lookup
Per cercare una singola sandbox, devi eseguire una richiesta GET che includa la name
nel percorso della richiesta.
Formato API
GET /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
della sandbox che desideri cercare.Richiesta
La richiesta seguente recupera una sandbox denominata "dev-2".
curl -X GET \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/dev-2 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox, compresi i relativi name
, title
, state
, e type
.
{
"name": "dev-2",
"title": "Development 2",
"state": "creating",
"type": "development",
"region": "VA7",
"isDefault": false,
"eTag": 1,
"createdDate": "2019-09-07 10:16:02",
"lastModifiedDate": "2019-09-07 10:16:02",
"createdBy": "{USER_ID}",
"modifiedBy": "{USER_ID}"
}
name
title
state
Lo stato di elaborazione corrente della sandbox. Lo stato di una sandbox può essere uno dei seguenti:
- creazione: la sandbox è stata creata ma è ancora in fase di provisioning da parte del sistema.
- attivo: la sandbox viene creata e attivata.
- non riuscito: a causa di un errore, non è stato possibile eseguire il provisioning della sandbox da parte del sistema ed è disabilitata.
- eliminato: la sandbox è stata disabilitata manualmente.
type
development
e production
.isDefault
eTag
Creare una sandbox create
Per creare una nuova sandbox di sviluppo o produzione, devi effettuare una richiesta POST al /sandboxes
endpoint.
Creare una sandbox di sviluppo
Per creare una sandbox di sviluppo, devi fornire una type
attributo con valore development
nel payload della richiesta.
Formato API
POST /sandboxes
Richiesta
La richiesta seguente crea una nuova sandbox di sviluppo denominata "acme-dev".
curl -X POST \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"name": "acme-dev",
"title": "Acme Business Group dev",
"type": "development"
}'
name
title
type
development
.Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox appena creata, mostrando che il relativo state
è "creazione".
{
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "creating",
"type": "development",
"region": "VA7"
}
state
diventerà "attivo" o "non riuscito".Creare una sandbox di produzione
Per creare una sandbox di produzione, devi fornire una type
attributo con valore production
nel payload della richiesta.
Formato API
POST /sandboxes
Richiesta
La richiesta seguente crea una nuova sandbox di produzione denominata "acme".
curl -X POST \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H `Accept: application/json` \
-H 'Content-Type: application/json' \
-d '{
"name": "acme",
"title": "Acme Business Group",
"type": "production"
}'
name
title
type
production
.Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox appena creata, mostrando che il relativo state
è "creazione".
{
"name": "acme",
"title": "Acme Business Group",
"state": "creating",
"type": "production",
"region": "VA7"
}
state
diventerà "attivo" o "non riuscito".Aggiornare una sandbox put
Per aggiornare uno o più campi in una sandbox, devi eseguire una richiesta PATCH che includa i name
nel percorso della richiesta e nella proprietà da aggiornare nel payload della richiesta.
title
può essere aggiornata.Formato API
PATCH /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
della sandbox da aggiornare.Richiesta
La richiesta seguente aggiorna il title
proprietà della sandbox denominata "acme".
curl -X PATCH \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"title": "Acme Business Group prod"
}'
Risposta
In caso di esito positivo, la risposta restituisce lo stato HTTP 200 (OK) con i dettagli della sandbox appena aggiornata.
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "active",
"type": "production",
"region": "VA7"
}
Ripristinare una sandbox reset
Le sandbox dispongono di una funzione di "ripristino di fabbrica" che elimina tutte le risorse non predefinite da una sandbox. Per reimpostare una sandbox, effettua una richiesta PUT che include i name
nel percorso della richiesta.
Formato API
PUT /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
della sandbox da reimpostare.validationOnly
validationOnly=true
per verificare se la sandbox che stai per ripristinare contiene dati di condivisione di Adobe Analytics, Adobe Audience Manager o segmenti.Richiesta
La richiesta seguente ripristina una sandbox denominata "acme-dev".
curl -X PUT \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme-dev?validationOnly=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"action": "reset"
}'
action
Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox aggiornata, mostrando che il relativo state
è "resetting" (ripristino).
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "resetting",
"type": "development",
"region": "VA7"
}
La sandbox di produzione predefinita e tutte le sandbox di produzione create dall’utente non possono essere reimpostate se il grafico delle identità ospitato al suo interno è utilizzato anche da Adobe Analytics per Analisi multidispositivo (CDA) o se il grafo delle identità ospitato al suo interno è utilizzato anche da Adobe Audience Manager per Destinazioni basate su persone (PBD) funzionalità.
Di seguito è riportato un elenco di possibili eccezioni che potrebbero impedire la reimpostazione di una sandbox:
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Analytics for the Cross Device Analytics (CDA) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2074-400"
},
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Audience Manager for the People Based Destinations (PBD) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2075-400"
},
{
"status": 400,
"title": "Sandbox `{SANDBOX_NAME}` cannot be reset. The identity graph hosted in this sandbox is also being used by Adobe Audience Manager for the People Based Destinations (PBD) feature, as well by Adobe Analytics for the Cross Device Analytics (CDA) feature.",
"type": "http://ns.adobe.com/aep/errors/SMS-2076-400"
},
{
"status": 400,
"title": "Warning: Sandbox `{SANDBOX_NAME}` is used for bi-directional segment sharing with Adobe Audience Manager or Audience Core Service.",
"type": "http://ns.adobe.com/aep/errors/SMS-2077-400"
}
Puoi procedere con il ripristino di una sandbox di produzione utilizzata per la condivisione bidirezionale dei segmenti con Audience Manager o Audience Core Service aggiungendo il ignoreWarnings
parametro della richiesta.
Formato API
PUT /sandboxes/{SANDBOX_NAME}?ignoreWarnings=true
{SANDBOX_NAME}
name
della sandbox da reimpostare.ignoreWarnings
Richiesta
La richiesta seguente ripristina una sandbox di produzione denominata "acme".
curl -X PUT \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme?ignoreWarnings=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
-d '{
"action": "reset"
}'
Risposta
In caso di esito positivo, la risposta restituisce i dettagli della sandbox aggiornata, mostrando che il relativo state
è "resetting" (ripristino).
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme",
"title": "Acme Business Group prod",
"state": "resetting",
"type": "production",
"region": "VA7"
}
Eliminare una sandbox delete
Per eliminare una sandbox, devi eseguire una richiesta DELETE che includa la name
nel percorso della richiesta.
status
su "deleted" e la disattiva. Le richieste GET possono comunque recuperare i dettagli della sandbox anche dopo la sua eliminazione.Formato API
DELETE /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
della sandbox da eliminare.validationOnly
validationOnly=true
per verificare se la sandbox che stai per ripristinare contiene dati di condivisione di Adobe Analytics, Adobe Audience Manager o segmenti.ignoreWarnings
Richiesta
La richiesta seguente elimina una sandbox di produzione denominata "acme".
curl -X DELETE \
https://platform.adobe.io/data/foundation/sandbox-management/sandboxes/acme?ignoreWarnings=true \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
Risposta
In caso di esito positivo, la risposta restituisce i dettagli aggiornati della sandbox, mostrando che il relativo state
è "cancellato".
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "deleted",
"type": "development",
"region": "VA7"
}