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 Google Cloud. Par défaut, un compte Google Cloud vous permet de créer une organisation Apigee d'évaluation gratuite. Les organisations d'évaluation expirent au bout de 60 jours. Une fois ce délai atteint, l'organisation sera supprimée.
- Avoir un compte Google Cloud et un abonnement Apigee payant activé dans votre projet et votre compte de facturation Google Cloud. L'abonnement payant vous permet de créer des implémentations Apigee complètes et évolutives. Contactez le service commercial d'Apigee pour souscrire un compte payant et activer l'abonnement.
Pour créer une organisation et la provisionner, procédez comme suit :
-
Sur la ligne de commande, obtenez vos identifiants d'authentification
gcloud
à l'aide de la commande suivante :Linux/MacOS
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.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
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.
- Créez les variables d'environnement suivantes pour les éléments de l'organisation. Vous en aurez besoin dans la commande pour créer l'organisation.
-
PROJECT_ID
(obligatoire) 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é pour vous à l'Étape 2 : Créer un projet Google Cloud.export PROJECT_ID=your_project_id
ORG_NAME
(obligatoire) est l'ID programmatique que vous souhaitez pour votre organisation compatible hybride.export ORG_NAME=$PROJECT_ID
ORG_DISPLAY_NAME
(facultatif) 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".ORG_DISPLAY_NAME="friendly_name"
Les noms de variables contenant des espaces doit être placés entre guillemets doubles. Par exemple : "Mon organisation"
ORGANIZATION_DESCRIPTION
(facultatif) contient des informations sur l'organisation, que vous souhaitez utiliser comme rappel de son objectif. Par exemple, "Ma première organisation".ORGANIZATION_DESCRIPTION="description_text"
ANALYTICS_REGION
(obligatoire) est la région principale pour le stockage de données d'analyse.export ANALYTICS_REGION=analytics_region
où analytics_region est l'un des éléments suivants :
asia-northeast1
asia-south1
asia-east1
asia-southeast1
australia-southeast1
us-central1
us-east1
us-west1
asia-southeast2
europe-west1
europe-west2
Choisissez une région géographiquement proche ou qui réponde aux exigences de stockage de votre organisation.
RUNTIMETYPE
(obligatoire) est le type d'exécution de l'organisation Apigee, où HYBRID est un environnement d'exécution Apigee hybrid géré par l'utilisateur.export RUNTIMETYPE=HYBRID
-
- 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":"'"$ORG_DISPLAY_NAME"'", "description":"'"$ORGANIZATION_DESCRIPTION"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
Pour une requête de création réussie, l'API Organizations doit répondre avec un message semblable à celui-ci :
{ "name": "organizations/org_name/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/org_name", "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 demande de création d'organisation (décrite à l'étape 5).
- org_name 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.
- Enregistrez l'ID de l'opération de longue durée dans une variable d'environnement.
Vous en aurez besoin ultérieurement pour des tâches de gestion.
Syntaxe
export LONG_RUNNING_OPERATION_ID=long_running_operation_ID
Exemple
export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
- 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. Exemple :
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
Les exemples suivants illustrent les réponses possibles à cette requête :
IN_PROGRESS
Si l'organisation est toujours en cours de création, Apigee répond avec l'état
IN_PROGRESS
. Exemple :{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "IN_PROGRESS" } }
Vous devez attendre quelques instants avant de tenter de vérifier que le processus de création est terminé.
FINISHED
Une fois l'organisation provisionnée, l'état de l'opération de longue durée est
FINISHED
. Exemple :{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "ORG_NAME", "displayName": "ORG_DISPLAY_NAME", "description": "ORGANIZATION_DESCRIPTION", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "ANALYTICS_REGION", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "state": "ACTIVE", "billingType": "EVALUATION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
Si vous n'avez pas saisi de description, ce champ n'apparaît pas dans la réponse.
Afficher les informations sur l'organisation
Vous pouvez afficher les détails des métadonnées de l'organisation que vous avez créée à l'aide d'une API Apigee. Vous pouvez également utiliser une API pour répertorier toutes les organisations auxquelles votre compte Google Cloud a accès. Pour effectuer ces actions, vous utilisez l'API Organizations.
Avant d'essayer les API, actualisez votre jeton d'autorisation :
TOKEN=$(gcloud auth print-access-token)
Obtenir les détails d'une organisation
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/org_name
L'exemple suivant permet d'obtenir des détails sur l'organisation $ORG_NAME
: dans cet exemple, $ORG_NAME est défini sur "apigee-example
".
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
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 apigee-example
:
{ "name": "apigee-example", "displayName": "apigee-example-org", "description": "Apigee Example Org", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "us-west1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "EVALUATION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }
Répertorier les organisations
Pour obtenir la liste de toutes les organisations auxquelles votre compte Google Cloud a accès :
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, apigee-example
:
{ "organizations": [ { "organization": "apigee-example", "projectIds": [ "apigee-example" ] }, { "organization": "apigee-example-2", "projectIds": [ "apigee-example-2" ] } ] }
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": "", "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 5. |
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_org_name 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. |