Criar uma API
Pré-requisitos
Antes de poder criar uma API no API Gateway, certifique-se de que tem:
- Preparou o seu ambiente de desenvolvimento conforme descrito em Configurar o ambiente de desenvolvimento.
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:
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.Veja a ajuda para o comando
apis create
:gcloud api-gateway apis create --help
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.
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:
Determinar a lista de configurações de API associadas à API:
gcloud api-gateway api-configs list --api=API_ID --project=PROJECT_ID
Elimine cada configuração da API associada à API:
gcloud api-gateway api-configs delete CONFIG_ID --api=API_ID --project=PROJECT_ID
Elimine a API:
gcloud api-gateway apis delete API_ID --project=PROJECT_ID