O Cloud Endpoints é compatível com as APIs descritas com a versão 2.0 da especificação OpenAPI. Basta descrever a superfície da API e configurar os recursos do Endpoints, como regras de autenticação ou cotas, em um documento da OpenAPI.
Os Endpoints fazem uso especial dos seguintes campos obrigatórios no documento OpenAPI:
host
info.title
info.version
operationId
Nesta página, você encontra informações sobre como o Endpoints usa os campos abaixo. Assim, você pode concluir a preparação do documento OpenAPI para a implantação.
Pré-requisitos
Como ponto de partida, nesta página presume-se que você:
- um projeto do Google Cloud;
- conhecimento básico sobre a OpenAPI;
- Um documento OpenAPI no formato descrito na documentação da estrutura básica do Swagger (em inglês).
host
O Cloud Endpoints usa o nome configurado no campo host
do documento da OpenAPI como o nome do serviço.No Google Cloud, o nome do serviço da API precisa ser exclusivo. Como o Endpoints usa nomes compatíveis com o DNS para identificar serviços, recomendamos que você use o nome de domínio ou de subdomínio da API como o nome do serviço. Com essa abordagem, o nome do serviço que aparece na página Serviços do Endpoints corresponde ao nome usado nas solicitações para a API. Além disso, se o nome do serviço e o nome do domínio forem os mesmos, será possível criar um portal do Cloud Endpoints para os usuários da API. O Endpoints tem os seguintes requisitos para o nome de serviço:
- O comprimento máximo do nome do domínio é de 253 caracteres.
- O nome de domínio precisa começar com uma letra minúscula.
-
Cada seção no nome de domínio, delimitada por pontos, apresenta os seguintes requisitos:
- Precisa começar com uma letra minúscula.
- Não pode terminar com um traço.
- Os outros caracteres podem ser letras minúsculas, números ou traços.
- O comprimento máximo é de 63 caracteres.
É possível registrar seu próprio domínio personalizado, como example.com
, ou usar um domínio gerenciado pelo Google.
Usar um domínio gerenciado pelo Google
O Google é proprietário dos domínioscloud.goog
e appspot.com
, e os gerencia.
Se você quer usar um domínio gerenciado pelo Google, use o ID do projeto do Google Cloud como parte do nome do serviço. Como os projetos do Google Cloud têm um ID de projeto exclusivo a nível global, esse requisito garante que você tenha um nome de serviço exclusivo.
O nome do domínio depende do back-end que hospedará sua API:
Para APIs hospedadas no ambiente flexível do App Engine, você precisa usar o domínio
appspot.com
. Além disso, o nome do serviço deve estar no seguinte formato, sendoYOUR_PROJECT_ID
o ID do projeto do Google Cloud:YOUR_PROJECT_ID.appspot.com
Ao implantar a API no App Engine, uma entrada DNS com um nome no formato
YOUR_PROJECT_ID.appspot.com
é automaticamente criada.Para APIs hospedadas no Compute Engine, Google Kubernetes Engine ou Kubernetes, você precisa usar o domínio
cloud.goog
. Além disso, o nome do serviço deve estar no seguinte formato, sendoYOUR_API_NAME
o nome da API:YOUR_API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
Para usar esse domínio como o nome de domínio da API, leia Como configurar o DNS no domínio
cloud.goog
.
Usar um domínio personalizado
Se você não quer usar um domínio gerenciado pelo Google, saiba que é possível usar um domínio personalizado (myapi.mycompany.com
, por exemplo), desde que você tenha autorização.
Antes de implantar a configuração da API, siga as etapas abordadas em Verificar a propriedade do domínio.
info.title
O campo info.title
é um nome fácil de usar para a API. A página Endpoints > Serviços no console do Google Cloud mostra o texto que você configurou no campo info.title
. Caso você tenha mais de uma API por projeto do Google Cloud, o nome da API será exibido em uma lista quando a página for aberta pela primeira vez. Clique no nome da API para abrir outra página que exibe as métricas da API, o histórico de implantações e outras informações.
info.version
A página Endpoints > Services no console do Google Cloud mostra o número da versão da API. Antes de implantar a configuração da API pela primeira vez, faça o seguinte:
Defina o número da versão no campo
info.version
para a versão aplicável da API, como1.0
.Defina o número da versão principal no campo
basePath
, como/v1
.
Para mais informações sobre o controle de versão da sua API, consulte Gerenciamento do ciclo de vida da API.
operationId
O operationId
é um campo opcional na Especificação da OpenAPI. Já no Endpoints ele é obrigatório, porque é usado para identificação interna da operação. A string que você usa para o operationId
precisa ser exclusiva na API. Para orientações sobre nomenclatura, consulte a descrição de
operationId
na Especificação da OpenAPI.
A seguir
- Como implantar a configuração do Endpoints
- Implantar o back-end da API
- Como configurar a autenticação