Créer une configuration d'API

Cette page explique comment créer une configuration d'API à déployer sur API Gateway.

Avant de commencer

Avant de créer une configuration d'API, procédez comme suit :

Exigences concernant l'ID de configuration d'API

La plupart des commandes gcloud CLI présentées nécessitent de spécifier l'ID de la configuration d'API, au format suivant : CONFIG_ID. API Gateway applique les exigences suivantes pour l'ID de configuration d'API :

  • La longueur maximale doit être de 63 caractères.
  • Ne doit contenir que des lettres minuscules, des chiffres ou des tirets.
  • Il ne doit pas commencer par un tiret.
  • Il ne doit pas contenir de trait de soulignement.

Créer une configuration d'API

Créez une configuration d'API en important votre définition d'API.

Si votre définition d'API configure des quotas, assurez-vous que vos métriques et limites de quota restent cohérentes dans toutes les configurations d'API actives avant d'en créer une. API Gateway les applique à l'ensemble de l'API plutôt qu'à une configuration d'API individuelle. Par conséquent, toute métrique ou limite déclarée par une nouvelle configuration d'API remplace la définition de l'ensemble de l'API. Si vous renommez ou supprimez une métrique, les passerelles qui diffusent toujours une configuration d'API antérieure renvoient des erreurs pour leurs méthodes appliquées par quota. Pour en savoir plus, consultez Les quotas s'appliquent à l'ensemble de l'API.

Pour créer une configuration d'API :

Google Cloud Console

Créez une configuration d'API lorsque vous déployez une API sur une passerelle.

Google Cloud CLI

Importez votre définition d'API pour créer une configuration d'API. Lorsque vous importez la définition d'API, vous devez spécifier le nom de l'API. Si l'API n'existe pas déjà dans API Gateway, cette commande la crée également.

  1. Accédez au répertoire contenant votre définition d'API.

    Pour en savoir plus sur la création de la spécification OpenAPI pour votre définition d'API, consultez les pages Présentation d'OpenAPI et Guide de démarrage rapide : Sécuriser le trafic vers un service avec gcloud CLI.

    Pour en savoir plus sur la création d'une définition et d'une configuration de service gRPC pour votre définition d'API, consultez Configurer un service gRPC et Premiers pas avec API Gateway et Cloud Run pour gRPC.

  2. Validez l'ID du projet renvoyé par la commande suivante, afin de vous assurer que le service est créé dans le projet correct.

    gcloud config list project

    Si vous devez changer le projet par défaut, exécutez la commande suivante et remplacez PROJECT_ID par l'ID du Google Cloud projet dans lequel vous souhaitez créer le service :

    gcloud config set project PROJECT_ID
  3. Affichez l'aide de la commande api-configs create :

    gcloud api-gateway api-configs create --help
  4. Exécutez la commande suivante pour créer la configuration d'API :

    gcloud api-gateway api-configs create CONFIG_ID \
          --api=API_ID --openapi-spec=API_DEFINITION \
          --project=PROJECT_ID --backend-auth-service-account=SERVICE_ACCOUNT_EMAIL

    où :

    • CONFIG_ID spécifie l'ID de la nouvelle configuration d'API.
    • API_ID spécifie l'ID de l'API API Gateway associée à cette configuration d'API. Si l'API n'existe pas déjà, cette commande la crée.
    • API_DEFINITION spécifie le nom de la spécification OpenAPI contenant la définition d'API.
    • SERVICE_ACCOUNT_EMAIL spécifie le compte de service utilisé pour signer les jetons des backends avec l'authentification configurée. Pour en savoir plus, consultez Configurer le compte de service utilisé pour créer des configurations d'API.

    Lors de la création de l'API et de la configuration d'API, API Gateway transmet des informations au terminal. Cette opération peut prendre plusieurs minutes, car la configuration d'API est propagée aux systèmes en aval. La création d'une configuration d'API complexe peut prendre jusqu'à 10 minutes. Pendant la création d'une configuration, n'essayez pas d'en créer une autre pour la même API. Une seule configuration peut être créée pour une API à la fois.

  5. Si l'opération réussit, vous pouvez utiliser la commande suivante pour afficher les détails de la nouvelle configuration d'API :

    gcloud api-gateway api-configs describe CONFIG_ID \
          --api=API_ID

    Cette commande renvoie les éléments suivants :

    createTime: '2020-02-04T18:33:11.882707149Z'
    displayName: CONFIG_ID
    gatewayConfig:
          backendConfig:
            googleServiceAccount: 1111111@developer.gserviceaccount.com
    labels: ''
    name: projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID
    serviceRollout:
          rolloutId: 2020-02-04r2
    state: ACTIVE
    updateTime: '2020-02-04T18:33:12.219323647Z'
  6. Activez l'API à l'aide du nom de service géré de l'API. Vous trouverez cette valeur dans la colonne "Service géré" de votre API sur la page de destination des API :

    gcloud services enable MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog

    Vous ne devez exécuter cette commande qu'une seule fois lorsque vous créez l'API. Si vous modifiez l'API ultérieurement, vous n'avez pas besoin de réexécuter la commande.

La gcloud CLI accepte de nombreuses options, y compris celles décrites dans la documentation de référence de Google Cloud CLI. De plus, pour API Gateway, vous pouvez définir les options suivantes lors de la création d'une configuration d'API :

  • --async : rend le contrôle immédiatement au terminal, sans attendre la fin de l'opération.
  • --display-name=NAME : spécifie le nom à afficher de la configuration d'API, c'est-à-dire le nom affiché dans l'interface utilisateur. N'utilisez pas d'espaces dans le nom. Utilisez plutôt des traits d'union et des traits de soulignement. La valeur par défaut est CONFIG_ID.
  • --labels=KEY1=VALUE1,KEY2=VALUE2,... : spécifie les libellés associés à la configuration d'API.

Exemple :

gcloud api-gateway api-configs create CONFIG_ID \
  --api=API_ID --openapi-spec=API_DEFINITION \
  --backend-auth-service-account=SERVICE_ACCOUNT_EMAIL \
  --async --display-name=MyConfig --labels=a=1,b=2

Vous pouvez voir les libellés dans la sortie de la commande describe affichée ou dans la commande list en incluant l'option --format :

gcloud api-gateway api-configs list \
  --api=API_ID --format="table(name, labels)"

Répertorier les configurations d'API

Répertoriez toutes les passerelles API Gateway déployées dans votre Google Cloud projet.

Google Cloud Console

Pour répertorier les configurations d'API pour une API spécifique dans un projet :

  1. Dans la Google Cloud console, accédez à la page API Gateway.

    Accéder à API Gateway

  2. Cliquez sur l'API requise.
  3. Cliquez sur l'onglet Configurations.

La liste des configurations d'API disponibles s'affiche sur la page.

Google Cloud CLI

Pour répertorier les configurations d'API pour un projet spécifique, procédez comme suit :

gcloud api-gateway api-configs list 

Cette commande renvoie les éléments suivants :

NAME                                                                                                 DISPLAY_NAME             ROLLOUT_ID    STATE     CREATE_TIME
projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID  CONFIG_ID     2020-02-04r0  ACTIVE  2020-02-04T16:18:02.369859863Z

Pour répertorier les configurations d'API pour une API spécifique dans un projet :

gcloud api-gateway api-configs list --api=API_ID 

Utilisez les ID d'API et de configuration pour obtenir des informations détaillées sur la configuration d'API :

gcloud api-gateway api-configs describe CONFIG_ID \
  --api=API_ID 

Mettre à jour une configuration d'API

Vous ne pouvez modifier une configuration d'API existante que pour mettre à jour ses libellés et son nom à afficher.

Google Cloud Console

  1. Dans la Google Cloud console, accédez à la page API Gateway.

    Accéder à API Gateway

  2. Cliquez sur l'API requise.
  3. Cliquez sur l'onglet Configurations.
  4. Cliquez sur la configuration d'API requise.
  5. Cliquez sur Modifier Modifier.
  6. Modifiez le nom à afficher ou les libellés.
  7. Cliquez sur Enregistrer.

Google Cloud CLI

Utilisez la commande `gcloud` suivante pour mettre à jour une configuration d'API existante :

  • --display-name
  • --update-labels
  • --clear-labels
  • --remove-labels

Exemple :

gcloud api-gateway api-configs update CONFIG_ID \
  --api=API_ID \
  --update-labels=a=1,b=2

Utilisez la commande suivante pour afficher toutes les options de mise à jour :

gcloud api-gateway api-configs update --help

Supprimer une configuration d'API

Avant de supprimer une configuration d'API utilisée, vous devez effectuer l'une des opérations suivantes :

  • Déployer une autre configuration d'API sur la passerelle.
  • Supprimer la passerelle.

Pour en savoir plus, consultez Déployer une API sur une passerelle.

Google Cloud Console

  1. Dans la Google Cloud console, accédez à la page API Gateway.

    Accéder à API Gateway

  2. Cliquez sur l'API requise.
  3. Cliquez sur l'onglet Configurations.
  4. Cliquez sur Plus puis sur Supprimer pour supprimer la configuration d'API choisie.

Google Cloud CLI

Utilisez la commande gcloud CLI suivante pour supprimer une configuration d'API existante :

gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID

Étape suivante