Implantar APIs de WebSocket no API Gateway - Amazon API Gateway

Implantar APIs de WebSocket no API Gateway

Depois de criar sua API WebSocket, você deve implantá-la para permitir que seja invocada por seus usuários após a disponibilização.

Para implantar uma API, você cria uma implantação da API e a associa a um estágio. Cada estágio é um snapshot da API, sendo disponibilizado para ser chamado pelos aplicativos do cliente.

Importante

Toda vez que atualizar uma API, você deverá reimplantá-la. Alterações em qualquer item que não sejam as configurações do estágio exigem uma nova implantação, incluindo modificações nos seguintes recursos:

  • Rotas

  • Integrações

  • Authorizers

Por padrão, você está limitado a dez estágios para cada API. Recomendamos reutilizar estágios para as implantações.

Para chamar uma API WebSocket implantada, o cliente envia uma mensagem à URL da API. A URL é determinada pelo nome do host e pelo nome do estágio da API.

nota

O API Gateway oferecerá suporte a cargas de até 128 KB com quadros de máximo 32 KB. Se uma mensagem exceder 32 KB, deve ser dividida em vários quadros, cada qual contendo 32 KB ou menos.

Com o nome de domínio padrão da API, a URL base de uma (por exemplo) API WebSocket em determinado estágio ({stageName}) tem o seguinte formato:

wss://{api-id}.execute-api.{region}.amazonaws.com/{stageName}

Para facilitar o uso da URL da API WebSocket, você pode criar um nome de domínio personalizado (por exemplo, api.example.com) para substituir o nome de domínio padrão da API. O processo de configuração é o mesmo utilizado para APIs REST. Para obter mais informações, consulte Nome de domínio personalizado para APIs REST no API Gateway.

Os estágios permitem um controle de versão robusto para sua API. Por exemplo, você pode implantar uma API em um estágio test e um prod, e usar o estágio test como uma compilação de teste e o estágio prod como uma compilação estável. Depois que as atualizações passarem no teste, você poderá promover o estágio test para o estágio prod. Essa promoção pode ser feita por meio da reimplantação da API ao estágio prod. Para obter mais detalhes sobre estágios, consulte Configurar um estágio para uma API REST no API Gateway.

Criar uma implantação de API do WebSocket usando a AWS CLI

Para usar a AWS CLI a fim de criar uma implantação, utilize o comando create-deployment conforme mostrado no seguinte exemplo:

aws apigatewayv2 --region us-east-1 create-deployment --api-id aabbccddee

Resultado do exemplo:

{ "DeploymentId": "fedcba", "DeploymentStatus": "DEPLOYED", "CreatedDate": "2018-11-15T06:49:09Z" }

A API implantada não poderá ser chamada até que a implantação seja associada a um estágio. Você pode criar um novo estágio ou reutilizar um estágio que criou anteriormente.

Para criar um estágio e associá-lo à implantação, utilize o comando create-stage conforme mostrado no seguinte exemplo:

aws apigatewayv2 --region us-east-1 create-stage --api-id aabbccddee --deployment-id fedcba --stage-name test

Resultado do exemplo:

{ "StageName": "test", "CreatedDate": "2018-11-15T06:50:28Z", "DeploymentId": "fedcba", "DefaultRouteSettings": { "MetricsEnabled": false, "ThrottlingBurstLimit": 5000, "DataTraceEnabled": false, "ThrottlingRateLimit": 10000.0 }, "LastUpdatedDate": "2018-11-15T06:50:28Z", "StageVariables": {}, "RouteSettings": {} }

Para reutilizar um estágio já existente, atualize a propriedade deploymentId do estágio com o ID da implantação recém-criada ({deployment-id}), usando o comando update-stage.

aws apigatewayv2 update-stage --region {region} \ --api-id {api-id} \ --stage-name {stage-name} \ --deployment-id {deployment-id}

Criar uma implantação de API WebSocket usando o console do API Gateway

Para usar o console do API Gateway a fim de criar uma implantação para uma API WebSocket:

  1. Inicie uma sessão no console do API Gateway e escolha a API.

  2. Escolha Implantar API.

  3. Escolha o estágio desejado na lista suspensa ou insira o nome de um novo estágio.