Crear una API

Requisitos previos

Antes de crear una API en API Gateway, asegúrate de que tienes lo siguiente:

Requisitos de los IDs de API

Muchos de los comandos gcloud que se muestran requieren que especifiques el ID de la API, con el formato API_ID. API Gateway aplica los siguientes requisitos al ID de la API:

  • Debe tener una longitud máxima de 63 caracteres.
  • Solo debe incluir letras minúsculas, números o guiones.
  • No debe empezar por un guion.
  • No debe contener un guion bajo.

Crear una API

Para crear una API, sigue estos pasos:

  1. Valida el ID del proyecto devuelto por el siguiente comando para asegurarte de que el servicio no se ha creado en el proyecto incorrecto.

    gcloud config list project

    Si necesitas cambiar el proyecto predeterminado, ejecuta el siguiente comando y sustituye PROJECT_ID por el Google Cloud ID del proyectoPROJECT_ID en el que quieras crear el servicio:

    gcloud config set project PROJECT_ID

    Si el ID de tu proyecto contiene dos puntos (:), consulta Proyectos con ámbito de dominio para obtener más información sobre cómo crear una API en tu proyecto.

  2. Consulta la ayuda del comando apis create:

    gcloud api-gateway apis create --help
  3. Ejecuta el siguiente comando para crear la API:

    gcloud api-gateway apis create API_ID --project=PROJECT_ID

    donde:

    • API_ID especifica el ID de la nueva API. Consulta los requisitos de ID de API para ver las directrices de nomenclatura de las APIs.
    • PROJECT_ID especifica el Google Cloud ID del proyecto.

    Mientras se crea la API, API Gateway muestra información en la terminal.

  4. Una vez completado el proceso, puedes usar el siguiente comando para ver los detalles de la nueva API:

    gcloud api-gateway apis describe API_ID --project=PROJECT_ID

    Este comando devuelve lo siguiente:

    createTime: '2020-02-29T21:52:20.297426875Z'
    displayName: API_ID
    managedService: MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog
    name: projects/PROJECT_ID/locations/global/apis/API_ID
    state: ACTIVE
    updateTime: '2020-02-29T21:52:20.647923711Z'

Opciones de gcloud

La CLI de Google Cloud acepta muchas opciones, incluidas las que se describen en la referencia de gcloud. Además, en API Gateway, puede definir las siguientes opciones al crear una API:

  • --async: devuelve el control a la terminal inmediatamente, sin esperar a que se complete la operación.
  • --display-name=NAME: especifica el nombre visible de la API, es decir, el nombre que se muestra en la interfaz de usuario. No uses espacios en el nombre. En su lugar, usa guiones y guiones bajos. El valor predeterminado es API_ID.
  • --labels=KEY1=VALUE1,KEY2=VALUE2,...: especifica las etiquetas asociadas a la configuración de la API.
  • --managed-service: especifica un servicio gestionado preexistente (por ejemplo, un servicio de Endpoints) para la API.

Proyectos con ámbito de dominio

Si tu proyecto está limitado a tu dominio, el ID del proyecto incluye el nombre del dominio seguido de dos puntos (:). Por ejemplo, example.com:my-project. Debes proporcionar un servicio gestionado válido al crear una API en un proyecto con ámbito de dominio.

Si usas gcloud, proporciona el nombre del servicio gestionado con la marca --managed-service, tal como se describe en las opciones de gcloud.

APIs de fichas

Para mostrar todas las APIs de un proyecto, sigue estos pasos:

gcloud api-gateway apis list --project=PROJECT_ID

Este comando devuelve un resultado con el siguiente formato:

NAME                                              DISPLAY_NAME  MANAGED_SERVICE                          STATE
projects/PROJECT_ID/locations/global/apis/API_ID  API_ID        MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog  ACTIVE

Usa el ID del proyecto y el ID de la API para obtener información detallada sobre la API:

gcloud api-gateway apis describe API_ID --project=PROJECT_ID

Actualizar una API

Una vez creada, puedes actualizar las etiquetas y el nombre visible de una API. Usa las siguientes opciones de gcloud para actualizar una API:

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

Por ejemplo:

gcloud api-gateway apis update API_ID --project=PROJECT_ID \
  --update-labels=a=1,b=2

Usa el siguiente comando para ver todas las opciones de actualización:

gcloud api-gateway apis update --help

Eliminar una API

Para eliminar una API, debes hacer lo siguiente:

  • Elimina las configuraciones de API asociadas a la API.
  • Elimina la API.

Para eliminar una API, sigue estos pasos:

  1. Determina la lista de configuraciones de API asociadas a la API:

    gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
  2. Elimina cada configuración de API asociada a la API:

    gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
  3. Elimina la API:

    gcloud api-gateway apis delete API_ID --project=PROJECT_ID

Siguientes pasos