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 Google Cloud project.
- 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.O nome do serviço da API precisa ser exclusivo no Google Cloud. 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 doGoogle Cloud como parte do nome do serviço. Como os projetos do
Google Cloud têm um ID de projeto exclusivo globalmente, 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 precisa estar no seguinte formato, em queYOUR_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 Google Cloud mostra o texto que você configura no campo info.title
. Se você tiver 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 > Serviços no console 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