Criar uma API

Pré-requisitos

Antes de poder criar uma API no API Gateway, certifique-se de que tem:

Requisitos de ID da API

Muitos dos comandos gcloud apresentados requerem que especifique o ID da API no formato: API_ID. O gateway da API aplica os seguintes requisitos para o ID da API:

  • Tem de ter um comprimento máximo de 63 carateres.
  • Tem de conter apenas letras minúsculas, números ou travessões.
  • Não pode começar com um traço.
  • Não pode conter um caráter de sublinhado.

Criar uma API

Para criar uma API:

  1. Valide o ID do projeto devolvido pelo seguinte comando para se certificar de que o serviço não é criado no projeto errado.

    gcloud config list project

    Se precisar de alterar o projeto predefinido, execute o seguinte comando e substitua PROJECT_ID pelo Google Cloud ID do projeto Google Cloud no qual quer criar o serviço:

    gcloud config set project PROJECT_ID

    Se o ID do seu projeto contiver dois pontos (:), consulte o artigo Projetos com âmbito de domínio para ver detalhes adicionais sobre a criação de uma API no seu projeto.

  2. Veja a ajuda para o comando apis create:

    gcloud api-gateway apis create --help
  3. Execute o seguinte comando para criar a API:

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

    where:

    • API_ID especifica o ID da nova API. Consulte os requisitos de ID da API para ver as diretrizes de nomenclatura da API.
    • PROJECT_ID especifica o Google Cloud ID do projeto.

    À medida que cria a API, o API Gateway envia informações para o terminal.

  4. Após a conclusão com êxito, pode usar o seguinte comando para ver detalhes sobre a nova API:

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

    Este comando devolve o seguinte:

    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'

Opções do gcloud

A CLI gcloud aceita muitas opções, incluindo as descritas na referência gcloud. Além disso, para o API Gateway, pode definir as seguintes opções quando cria uma API:

  • --async: devolve o controlo ao terminal imediatamente, sem esperar que a operação seja concluída.
  • --display-name=NAME: especifica o nome a apresentar da API, ou seja, o nome apresentado na IU. Não use espaços no nome. Em alternativa, use hífenes e sublinhados. O valor predefinido é API_ID.
  • --labels=KEY1=VALUE1,KEY2=VALUE2,...: especifica as etiquetas associadas à configuração da API.
  • --managed-service: especifica um serviço gerido preexistente (por exemplo, um serviço de pontos finais existente) para a API.

Projetos no âmbito do domínio

Se o seu projeto estiver no âmbito do seu domínio, o ID do projeto inclui o nome do domínio seguido de dois pontos (:), por exemplo, example.com:my-project. Tem de fornecer um serviço gerido válido quando cria uma API num projeto com âmbito de domínio.

Se usar gcloud, indique o nome do serviço gerido através da flag --managed-service, conforme descrito nas opções gcloud.

APIs de fichas

Para apresentar todas as APIs num projeto:

gcloud api-gateway apis list --project=PROJECT_ID

Este comando devolve o resultado no seguinte 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

Use o ID do projeto e o ID da API para obter informações detalhadas sobre a API:

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

Atualizar uma API

Após a criação, pode atualizar as etiquetas e o nome a apresentar de uma API existente. Use as seguintes opções gcloud para atualizar uma API existente:

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

Por exemplo:

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

Use o seguinte comando para ver todas as opções de atualização:

gcloud api-gateway apis update --help

Eliminar uma API

Para eliminar uma API, tem de:

  • Eliminar as configurações da API associadas à API.
  • Elimine a API.

Para eliminar uma API:

  1. Determinar a lista de configurações de API associadas à API:

    gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
  2. Elimine cada configuração da API associada à API:

    gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
  3. Elimine a API:

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

O que se segue?