ID da região
O REGION_ID
é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
O Pub/Sub mensagens assíncronas confiáveis de muitos para muitos entre os aplicativos. Os aplicativos do editor podem enviar mensagens para um tópico e outros aplicativos podem assinar esse tópico para receber as mensagens.
Neste documento, descrevemos como usar a biblioteca de cliente do Cloud para enviar e receber mensagens do Pub/Sub em um app .NET.
Pré-requisitos
- Siga as instruções em "Hello World!" para .NET no App Engine para configurar seu ambiente e projeto e entender como os aplicativos em .NET do App Engine são estruturados.
- Anote e guarde o ID do projeto. Você precisará dele para executar o aplicativo de amostra descrito neste documento.
- Siga as etapas para criar uma conta de serviço e uma chave de conta de serviço para usar com seu aplicativo.
-
Ative a API Google Cloud Pub/Sub.
Como clonar o app de amostra
Copie os aplicativos de amostra para sua máquina local e navegue até o diretório pubsub
:
git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples
cd dotnet-docs-samples/appengine/flexible/pubsub
Como criar um tópico e uma assinatura
Crie um tópico e uma assinatura. Isso inclui especificar o endpoint que receberá as solicitações do Pub/Sub:
gcloud pubsub topics create YOUR_TOPIC gcloud pubsub subscriptions create YOUR_SUBSCRIPTION ` --topic YOUR_TOPIC ` --push-endpoint ` https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/pubsub/push?token=YOUR_SECRET_TOKEN ` --ack-deadline 10
Como definir variáveis de ambiente
Edite o arquivo appsettings.json
para definir o ID do projeto:
Revisão de código
O aplicativo de amostra usa a Biblioteca de cliente do Cloud.
Executar a amostra no local
Com a Google Cloud CLI em execução no local, você pode fornecer autenticação
para usar as APIs do Google Cloud. Se tiver configurado o ambiente conforme descrito nos
Pré-requisitos, você já terá executado o comando
gcloud init
,
que fornece essa autenticação.
Para executar o app de amostra localmente, siga estas etapas:
Visual Studio
Abra o arquivo
dotnet-docs-samples\appengine\flexible\AppEngineFlex.sln
com o Visual Studio.No "Gerenciador de soluções", clique com o botão direito do mouse em Pubsub e selecione Depurar > Iniciar nova instância.
Linha de comando
Execute os seguintes comandos no diretório
dotnet-docs-samples\appengine\flexible\Pubsub
:dotnet restore dotnet run
No navegador da Web, digite este endereço:
http://localhost:5000/
Como simular notificações push
Pelo aplicativo, é possível enviar mensagens localmente, mas não é possível receber mensagens push localmente. É possível simular uma mensagem de push com uma solicitação HTTP para o notification endpoint de push local. A amostra inclui o sample_message.json
do arquivo.
Para enviar uma solicitação HTTP POST
:
Get-Content -Raw .\sample_message.json | Invoke-WebRequest -Uri
http://localhost:5000/Push?token=your-secret-token -Method POST -ContentType
'text/json' -OutFile out.txt
Uma vez concluída a solicitação, será possível atualizar o localhost:5000
e ver a mensagem na lista de mensagens recebidas.
Como executar no App Engine
Para implantar o app de demonstração no App Engine usando a
ferramenta de linha de comando gcloud
, execute o comando a seguir no diretório
em que seu arquivo app.yaml
está localizado:
Visual Studio
Para implantar o app Hello World:
-
Abra o
dotnet-docs-samples\appengine\flexible\AppEngineFlex.sln
com o Visual Studio. - No "Gerenciador de soluções", clique com o botão direito do mouse em Pubsub e selecione Publicar no Google Cloud...
- Clique em App Engine Flex.
- Clique em Publicar.
Linha de comando
Execute os seguintes comandos no diretóriodotnet-docs-samples\appengine\flexible\Pubsub
:
dotnet restore dotnet publish cd bin\Debug\netcoreapp2.1\publish gcloud app deploy
Agora, é possível acessar o aplicativo em
https://PROJECT_ID.REGION_ID.r.appspot.com
.
Use o formulário para enviar mensagens, mas não há garantias de qual instância do seu aplicativo receberá a notificação. É possível enviar várias mensagens e atualizar a página para ver a mensagem recebida.