Point d’entrée de la gestion des sandbox
Créé pour :
- Développeur
Les sandbox de Adobe Experience Platform fournissent des environnements de développement isolés qui vous permettent de tester des fonctionnalités, d’exécuter des expériences et de créer des configurations personnalisées sans affecter votre environnement de production. Le point d’entrée /sandboxes
de l’API Sandbox vous permet de gérer les sandbox par programmation dans Experience Platform.
Prise en main
Le point d’entrée dʼAPI utilisé dans ce guide fait partie de lʼ Sandbox API. Avant de continuer, consultez le guide de prise en main pour obtenir des liens vers la documentation associée, un guide de lecture des exemples d’appels API dans ce document et des informations importantes sur les en-têtes requis pour réussir des appels vers n’importe quelle API d’Experience Platform.
Récupération d’une liste de sandbox
Vous pouvez répertorier tous les sandbox appartenant à votre organisation (actifs ou non) en envoyant une requête GET au point d’entrée /sandboxes
.
Format d’API
GET /sandboxes?{QUERY_PARAMS}
Paramètre | Description |
---|---|
{QUERY_PARAMS} | Paramètres de requête facultatifs pour le filtrage des résultats. Pour plus d’informations, consultez la section sur les paramètres de requête. |
Requête
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}' \
Réponse
Une réponse réussie renvoie une liste de sandbox appartenant à votre organisation, y compris des détails tels que name
, title
, state
et 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
}
}
}
Propriété | Description |
---|---|
name | Le nom du sandbox. Cette propriété est utilisée à des fins de recherche dans les appels API. |
title | Le nom d’affichage du sandbox. |
state |
L’état de traitement actuel du sandbox. Un sandbox peut avoir l’un des états suivants :
|
type | Type de sandbox. Les types de sandbox actuellement pris en charge sont les development et les production . |
isDefault | Propriété booléenne indiquant si ce sandbox est le sandbox de production par défaut de l’organisation. |
eTag | L’identifiant d’une version spécifique du sandbox. Utilisée pour le contrôle des versions et une mise en cache efficace, cette valeur est mise à jour chaque fois que le sandbox est modifié. |
Recherche d’un sandbox
Vous pouvez rechercher un sandbox individuel en effectuant une requête GET comprenant la propriété name
du sandbox dans le chemin de requête.
Format d’API
GET /sandboxes/{SANDBOX_NAME}
Paramètre | Description |
---|---|
{SANDBOX_NAME} | La propriété name du sandbox que vous souhaitez rechercher. |
Requête
La requête suivante récupère un sandbox nommé « 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}' \
Réponse
Une réponse réussie renvoie les détails du sandbox, y compris son name
, title
, state
et 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
L’état de traitement actuel du sandbox. Un sandbox peut avoir l’un des états suivants :
- création : le sandbox a été créé, mais le système continue de le configurer.
- actif : le sandbox est créé et actif.
- échec : en raison d’une erreur, le système n’a pas pu configurer le sandbox et ce dernier a été désactivé.
- supprimé : le sandbox a été désactivé manuellement.
type
development
et production
.isDefault
eTag
Créer un sandbox
Vous pouvez créer un nouveau sandbox de développement ou de production en effectuant une requête POST vers le point d’entrée /sandboxes
.
Créer une sandbox de développement
Pour créer un sandbox de développement, vous devez fournir un attribut type
avec une valeur de development
dans la payload de requête.
Format d’API
POST /sandboxes
Requête
La requête suivante crée un sandbox de développement nommé « 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
.Réponse
Une réponse réussie renvoie les détails du nouveau sandbox, indiquant que son state
est « création ».
{
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "creating",
"type": "development",
"region": "VA7"
}
state
deviendra « actif » ou « en échec ».Création d’un sandbox de production
Pour créer un sandbox de production, vous devez fournir un attribut type
avec une valeur de production
dans la payload de la requête.
Format d’API
POST /sandboxes
Requête
La requête suivante crée un sandbox de production nommé « 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
.Réponse
Une réponse réussie renvoie les détails du nouveau sandbox, indiquant que son state
est « création ».
{
"name": "acme",
"title": "Acme Business Group",
"state": "creating",
"type": "production",
"region": "VA7"
}
state
deviendra « actif » ou « en échec ».Mise à jour d’un sandbox
Vous pouvez mettre à jour un ou plusieurs champs d’un sandbox en effectuant une requête PATCH incluant le name
du sandbox dans le chemin de requête et la propriété à mettre à jour dans le payload de la requête.
title
d’un sandbox peut être mise à jour.Format d’API
PATCH /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
du sandbox que vous souhaitez mettre à jour.Requête
La requête suivante met à jour la propriété title
du sandbox nommé « 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"
}'
Réponse
Une réponse réussie renvoie un état HTTP 200 (OK) avec les détails du sandbox mis à jour.
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "active",
"type": "production",
"region": "VA7"
}
Réinitialisation d’un sandbox
Les sandbox disposent d’une fonctionnalité de « réinitialisation d’usine » qui supprime toutes les ressources autres que celles par défaut d’un sandbox. Vous pouvez réinitialiser un sandbox en effectuant une requête PUT comprenant le name
du sandbox dans le chemin d’accès de la requête.
Format d’API
PUT /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
du sandbox que vous souhaitez réinitialiser.validationOnly
validationOnly=true
pour vérifier si le sandbox que vous êtes sur le point de réinitialiser contient des données Adobe Analytics, Adobe Audience Manager ou de partage de segment.Requête
La requête suivante réinitialise un sandbox nommé « 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
Réponse
Une réponse réussie renvoie les détails du sandbox mis à jour, indiquant que son state
est « resetting ».
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme-dev",
"title": "Acme Business Group dev",
"state": "resetting",
"type": "development",
"region": "VA7"
}
Le sandbox de production par défaut et les sandbox de production créés par l’utilisateur ne peuvent pas être réinitialisés si le graphique d’identités qui y est hébergé est également utilisé par Adobe Analytics pour la fonctionnalité Analyses entre appareils (CDA) ou si le graphique d’identités qui y est hébergé est également utilisé par Adobe Audience Manager pour la fonctionnalité Destinations basées sur les personnes (PBD).
Voici une liste des exceptions possibles qui peuvent empêcher la réinitialisation d’un 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"
}
Vous pouvez procéder à la réinitialisation d’un sandbox de production utilisé pour le partage bidirectionnel de segments avec Audience Manager ou Audience Core Service en ajoutant le paramètre ignoreWarnings
à votre requête.
Format d’API
PUT /sandboxes/{SANDBOX_NAME}?ignoreWarnings=true
{SANDBOX_NAME}
name
du sandbox que vous souhaitez réinitialiser.ignoreWarnings
Requête
La requête suivante réinitialise un sandbox de production nommé « 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"
}'
Réponse
Une réponse réussie renvoie les détails du sandbox mis à jour, indiquant que son state
est « resetting ».
{
"id": "d8184350-dbf5-11e9-875f-6bf1873fec16",
"name": "acme",
"title": "Acme Business Group prod",
"state": "resetting",
"type": "production",
"region": "VA7"
}
Suppression d’un sandbox
Vous pouvez supprimer un sandbox en effectuant une requête DELETE qui inclut le name
du sandbox dans le chemin de la requête.
status
du sandbox sur « supprimé » et la désactive. Les requêtes GET peuvent toujours récupérer les détails du sandbox après sa suppression.Format d’API
DELETE /sandboxes/{SANDBOX_NAME}
{SANDBOX_NAME}
name
du sandbox que vous souhaitez supprimer.validationOnly
validationOnly=true
pour vérifier si le sandbox que vous êtes sur le point de réinitialiser contient des données Adobe Analytics, Adobe Audience Manager ou de partage de segment.ignoreWarnings
Requête
La requête suivante supprime un sandbox de production nommé « 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}'
Réponse
Une réponse réussie renvoie les détails mis à jour du sandbox, indiquant que son state
est « supprimé ».
{
"name": "acme",
"title": "Acme Business Group prod",
"state": "deleted",
"type": "development",
"region": "VA7"
}