Vous avez créé un compte et un projet Google Cloud, et vous avez activé les API. Vous pouvez maintenant créer votre organisation.
Conditions préalables
Pour créer une organisation, vous devez remplir l'une des conditions suivantes :
- Posséder un compte d'évaluation Les comptes d'évaluation expirent au bout de 60 jours. Une fois ce délai atteint, l'organisation sera supprimée.
- Disposer d'un compte payant
Dans le cas contraire, vous devez contacter le service commercial d'Apigee avant de continuer.
Pour créer une organisation et la provisionner, procédez comme suit :
-
Sur la ligne de commande, obtenez vos identifiants d'authentification
gcloud
, comme le montre l'exemple suivant :TOKEN=$(gcloud auth print-access-token)
Pour vérifier que votre jeton a été renseigné, utilisez
echo
, comme le montre l'exemple suivant :echo $TOKEN
Votre jeton doit s'afficher sous forme de chaîne encodée.
Pour en savoir plus, consultez la section présentation de l'outil de ligne de commande gcloud.
- Envoyez une requête
POST
authentifiée à l'API Create Organizations.L'exemple suivant montre la structure de requête qui crée une organisation :
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"org_name", "displayName":"display_name", "description":"organization_description", "runtimeType":"runtime_type", "analyticsRegion":"analytics_region" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/project_ID"
Où :
- (Obligatoire) org_name est l'ID programmatique que vous souhaitez pour votre organisation compatible hybride. L'ID de l'organisation doit correspondre à l'ID du projet Google Cloud que vous avez créé à l'Étape 2 : Créer un projet Google Cloud. Par exemple,
hybrid-42
. - (Obligatoire) runtime_type est le type d'exécution de l'organisation Apigee, où HYBRID est un environnement d'exécution Apigee hybride géré par l'utilisateur.
- (Obligatoire) analytics_region est la région principale pour le stockage de données d'analyse. Choisissez l'une des options suivantes :
asia-northeast1
australia-southeast1
us-west1
us-central1
us-east1
europe-west1
europe-west2
Nous fournissons cette option pour que vous puissiez choisir une région géographiquement proche ou si votre organisation a d'autres exigences de stockage.
- (obligatoire) project_ID est le projet Google Cloud que vous souhaitez associer à votre nouvelle organisation compatible hybride. Il s'agit de l'ID que Google a généré automatiquement à l'étape 2 : Créer un projet Google Cloud.
- (Facultatif) display_name est le nom convivial de votre organisation. Cette valeur n'a pas besoin d'être unique et peut inclure des espaces et des caractères spéciaux. Par exemple, "Mon organisation hybride".
- (Facultatif) organization_description contient des informations sur l'organisation, que vous souhaitez utiliser comme rappel de son objectif. Par exemple, "Ma première organisation".
Pour une requête de création réussie, l'API Organizations doit répondre avec un message semblable à celui-ci :
{ "name": "organizations/organization_ID/operations/long_running_operation_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/organization_ID", "state": "IN_PROGRESS" } }
Où :
- long_running_operation_ID est l'UUID d'une opération asynchrone de longue durée. Vous pouvez utiliser cet ID pour vérifier l'état de votre requête de création d'organisation (décrit ultérieurement).
- organization_ID est l'ID de votre nouvelle organisation en cours de création.
Comme l'indique la propriété
state
dans la réponse, Apigee a commencé à créer la nouvelle organisation. Son état est doncIN_PROGRESS
. Ce processus peut prendre plusieurs minutes.Si vous recevez un message d'erreur, consultez la section Résoudre des problèmes de création d'organisation.
- (Obligatoire) org_name est l'ID programmatique que vous souhaitez pour votre organisation compatible hybride. L'ID de l'organisation doit correspondre à l'ID du projet Google Cloud que vous avez créé à l'Étape 2 : Créer un projet Google Cloud. Par exemple,
- Vous pouvez vérifier l'état de l'opération de longue durée dont l'ID Apigee a été renvoyé dans votre requête de création initiale. Pour ce faire, utilisez l'API Operations comme indiqué dans l'exemple suivant :
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/organization_ID/operations/long_running_operation_ID"
Les exemples suivants illustrent les réponses possibles à cette requête :
FINISHED
Une fois l'organisation provisionnée, l'état de l'opération de longue durée est
FINISHED
, comme illustré dans l'exemple suivant :{ "operations": [ { "name": "organizations/organization_ID/operations/long_running_operation_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/organization_ID", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "organization_ID", "createdAt": "1572550611", "lastModifiedAt": "1572550611", "displayName": "display_name" "description": "description" "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-east1" "runtimeType": "HYBRID", } } ] }
Si vous n'avez pas saisi de description, ce champ n'apparaîtra pas dans la réponse.
Félicitations ! Vous avez créé une organisation et elle est prête à être utilisée. Vous pouvez passer à l'Étape 5 : Ajoutez un environnement.
IN_PROGRESS
Si l'organisation est toujours en cours de création, Apigee répond par l'état
IN_PROGRESS
, comme le montre l'exemple suivant :{ "name": "organizations/organization_ID/operations/long_running_operation_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/organization_ID", "state": "IN_PROGRESS" } }
Vous devez attendre quelques instants avant de tenter de vérifier que le processus de création est terminé.
Résoudre les problèmes de création d'organisation
Lorsque vous créez une organisation avec l'API Create Organizations, vous pouvez obtenir une réponse d'erreur. Les réponses se présentent comme suit :
{ "error": { "code": HTTP_error_code, "message": "short_error_message", "status": "high_level_error_type", "details": [ { "@type": "specific_error_type", "detail": "expanded_error_description" } ] } }
L'exemple suivant montre une réponse à une erreur courante. L'ID de l'organisation contient des caractères non autorisés (les majuscules ne sont pas autorisés dans les ID d'organisation) :
{ "error": { "code": 400, "message": "invalid Organization ID \"MY-ORG\": \"MY-ORG\" is an invalid Organization ID", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "[ORIGINAL ERROR] generic::invalid_argument: invalid Organization ID \"MY-ORG\": \"My-ORG\" is an invalid Organization ID [google.rpc.error_details_ext] { message: \"invalid Organization ID \\\"MY-ORG\\\": \\\"MY-ORG\\\" is an invalid Organization ID\" }" } ] } }
Dans ce cas, vous pouvez renommer l'organisation en minuscules et renvoyer votre requête.
Le tableau suivant répertorie les erreurs que vous pouvez recevoir et les solutions potentielles lorsque vous essayez de créer une organisation :
Code d'erreur HTTP | Erreur HTTP | Description |
---|---|---|
400 |
Invalid JSON payload received |
Soit la structure des données de votre requête contient une erreur de syntaxe, soit le chemin d'accès au point de terminaison est incorrect. |
400 |
Invalid organization ID |
L'ID d'organisation que vous demandez ne peut pas contenir de lettres majuscules ou de caractères spéciaux autres que des traits d'union. Il ne doit contenir que des lettres minuscules, des chiffres et/ou des traits d'union. Il peut comporter jusqu'à 32 caractères. |
400 |
Unsupported analytics region |
Vous n'avez pas spécifié la valeur de analyticsRegion dans le corps de la requête, ou la valeur que vous avez spécifiée n'est pas l'une des options valides. |
400 |
Does not have an Apigee entitlement |
Votre projet Google Cloud (que vous avez créé à l'Étape 2 : Créer un projet Google Cloud) n'a pas encore été activé pour le mode hybride. Il peut s'agir d'un problème lié à votre facturation ou à une autre erreur liée à votre compte Google Cloud. Pour en savoir plus, contactez le service commercial d'Apigee. |
401 |
Request had invalid authentication credentials |
Votre jeton d'authentification gcloud est incorrect ou obsolète, ou vous n'en avez pas inclus dans la requête. Générez un nouveau jeton et renvoyez l'adresse. |
403 |
Permission denied on resource project project_ID |
Vous avez peut-être envoyé une requête contenant un chemin d'accès ou ID de projet incorrect. |
403 |
Unable to retrieve project information |
L'organisation n'a pas encore été créée ni provisionnée. Vous pouvez envoyer une requête à l'API Operations pour vérifier l'état de l'opération de longue durée, comme décrit dans la procédure ci-dessus. |
409 |
Organization already exists |
Vous avez essayé de créer plusieurs organisations pour le projet Google Cloud. Vous ne pouvez créer qu'une seule organisation par projet. |
409 |
Org proposed_organization_ID already exists |
Vous avez essayé de créer une organisation portant le même ID qu'une organisation existante. Les ID d'organisation doivent être uniques pour tous les clients hybrides. Envoyez une nouvelle demande avec un nouvel ID d'organisation proposé. Par exemple, ajoutez une valeur numérique à la fin de l'ID que vous avez essayé précédemment. |
Obtenir des informations sur l'organisation
Vous pouvez obtenir la liste de toutes les organisations auxquelles votre compte a accès, ou obtenir des informations sur une organisation spécifique grâce à son ID. Pour effectuer ces actions, vous utilisez l'API Organizations.
Répertorier des organisations
Pour obtenir la liste de toutes les organisations :
Envoyez une requête GET
(sans corps) au point de terminaison de l'API List Organizations suivant :
https://apigee.googleapis.com/v1/organizations
Exemple :
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations"
La réponse à votre requête contient un tableau de toutes les organisations compatibles hybrides auxquelles vous avez accès, au format JSON.
L'exemple suivant montre une réponse avec une seule organisation, "my-org-42" :
{ "organizations": [ { "organization": "my-org-42", "projectIds": [ "my-project" ] } ] }
En savoir plus
Pour obtenir des détails sur une seule organisation :
Envoyez une requête GET
(sans corps) au point de terminaison de l'API Get Organizations suivant :
https://apigee.googleapis.com/v1/organizations/organization_ID
L'exemple suivant permet d'obtenir des détails sur l'organisation "my-org-42" :
curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/my-org-42"
La réponse à votre requête contient des détails sur l'organisation spécifiée, au format JSON.
L'exemple suivant montre une réponse avec des détails sur l'organisation "my-org-42" :
{ "name": "my-org-42", "createdAt": "1572550611", "lastModifiedAt": "1572550611", "environments": [ "my-environment" ], "analyticsRegion": "us-east1" }