Étape 4 : Créez une organisation

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 :

  1. 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.

  2. 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 donc IN_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.

  3. 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"
}
1 2 3 4 (SUITE) Étape 5 : Ajouter un environnement