Neste documento, mostramos como publicar mensagens em um tópico com um esquema.
Antes de começar
Antes de configurar o fluxo de trabalho de publicação, conclua as seguintes tarefas:
- Entenda como os esquemas do Pub/Sub funcionam.
- Associar um esquema a um tópico.
Funções exigidas
Para receber as permissões necessárias para publicar mensagens em um tópico,
peça ao administrador para conceder a você o papel do IAM de
Editor do Pub/Sub (roles/pubsub.publisher
) no tópico.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível receber as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Você precisa de outras permissões para criar ou atualizar tópicos e assinaturas.Publicar mensagens com esquema
É possível publicar mensagens em um tópico associado a um esquema.
É preciso codificar as mensagens no esquema e no formato especificados ao criar o tópico. Quando uma mensagem não corresponde ao esquema associado ao tópico, o Pub/Sub retorna um erro INVALID_ARGUMENT
para a solicitação de publicação.
gCloud
No Console do Google Cloud, ative o Cloud Shell.
Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Publique uma mensagem de amostra usando o comando gcloud pubsub topics publish.
gcloud pubsub topics publish TOPIC_ID \ --message=MESSAGE
Substitua:
TOPIC_ID: nome do tópico que você já criou.
MESSAGE: mensagem publicada no tópico. Um exemplo de mensagem pode ser
{"name": "Alaska", "post_abbr": "AK"}
.
C++
Antes de tentar esse exemplo, siga as instruções de configuração do C++ em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C++.
Avro ProtoC#
Antes de tentar esse exemplo, siga as instruções de configuração do C# em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C#.
Avro ProtoGo
Antes de tentar esse exemplo, siga as instruções de configuração do Go em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Go.
Avro ProtoJava
Antes de tentar essa amostra, siga as instruções de configuração do Java em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Java.
Avro ProtoNode.js
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
Avro Buffer de protocoloNode.js
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
Avro Buffer de protocoloPHP
Antes de tentar esse exemplo, siga as instruções de configuração do PHP em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub PHP.
Avro Buffer de protocoloPython
Antes de tentar esse exemplo, siga as instruções de configuração do Python em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Python.
Avro Buffer de protocoloRuby
Antes de tentar esse exemplo, siga as instruções de configuração do Ruby em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Ruby.
Avro Buffer de protocoloA seguir
Para restringir os locais em que o Pub/Sub armazena dados de mensagens, consulte Como restringir locais de recursos do Pub/Sub.
Para saber mais sobre como receber mensagens, consulte Escolher um tipo de assinatura.