Cette étape consiste à créer une organisation Apigee.
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
export 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.
-
À l'étape 1, vous avez créé la variable d'environnement
PROJECT_ID
. Ajoutez les variables d'environnement suivantes :Linux/MacOS
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="ANALYTICS_REGION"
export RUNTIMETYPE=HYBRID
Windows
set ORG_NAME=$PROJECT_ID
set ANALYTICS_REGION="ANALYTICS_REGION"
set RUNTIMETYPE=HYBRID
Où :
ORG_NAME
(obligatoire) : cette valeur doit correspondre à l'identifiantPROJECT_ID
.ANALYTICS_REGION
(obligatoire) : région principale pour le stockage des données d'analyse. Pour obtenir la liste des régions Apigee API Analytics disponibles, consultez la page Emplacements Apigee.-
RUNTIMETYPE
(obligatoire) : doit être défini surHYBRID
.
- Appelez l'API Apigee suivante pour créer l'organisation :
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
Si la requête de création aboutit, l'API Organizations renvoie 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 a été renvoyé par la requête de création. 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 (EN_COURS)
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", "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": {} } } }
Vous pouvez utiliser l'API Organizations d'Apigee pour récupérer des informations sur une organisation après sa création. Exemple :
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.
{ "name": "apigee-example", "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é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" } ] } }
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. |
400 |
'global' violates constraint in constraints/gcp.resourceLocations
on the resource projects/PROJECT_ID, Control Plane Region |
Vous avez essayé de créer une organisation qui n'est peut-être pas éligible avec un abonnement payant. Les organisations Apigee Hybrid de type EVAL ne sont pas compatibles avec la résidence des données. |
400 |
runtimeType HYBRID is not supported for PAYG_V2, use CLOUD instead: invalid argument |
Vous avez essayé de créer une organisation pour un projet avec un droit d'accès "Payer à l'usage". Si vous avez des questions sur les droits d'accès de l'organisation, contactez votre responsable de compte Google Cloud. |
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 à l'étape 5. |
403 |
Permission denied on resource project organizations/PROJECT_ID/deployedIngressConfig |
Vous avez essayé de créer une organisation, mais elle ne dispose pas des droits appropriés. Si vous avez des questions sur les droits d'accès de l'organisation, contactez votre responsable de compte Google Cloud. |
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. |
Étape suivante
Accédez à l'étape 3 : Créer un groupe d'environnements.