O envio de mensagens em lote cria um cliente publicador com definições de processamento em lote personalizadas e usa-o para publicar algumas mensagens.
Este documento faculta informações sobre a utilização de mensagens em lote com mensagens publicadas num tópico.
Antes de começar
Antes de configurar o fluxo de trabalho de publicação, certifique-se de que concluiu as seguintes tarefas:
- Saiba mais sobre os tópicos e o fluxo de trabalho de publicação.
- Crie um tópico.
Funções necessárias
Para receber as autorizações de que
precisa para publicar mensagens num tópico,
peça ao seu administrador para lhe conceder a
função de IAM Publicador do Pub/Sub (roles/pubsub.publisher
)
no tópico.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Precisa de autorizações adicionais para criar ou atualizar tópicos e subscrições.
Use o envio de mensagens em lote
Consulte os seguintes exemplos de código para saber como configurar as definições de mensagens em lote para o seu publicador.
C++
Antes de experimentar este exemplo, siga as instruções de configuração do C++ no artigo Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API C++ do Pub/Sub.
C#
Antes de experimentar este exemplo, siga as instruções de configuração do C# em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API C# do Pub/Sub.
Ir
O exemplo seguinte usa a versão principal da biblioteca de cliente Go Pub/Sub (v2). Se ainda estiver a usar a biblioteca v1, consulte o guia de migração para a v2. Para ver uma lista de exemplos de código da v1, consulte os exemplos de código descontinuados.
Antes de experimentar este exemplo, siga as instruções de configuração do Go em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Pub/Sub.
Java
Antes de experimentar este exemplo, siga as instruções de configuração do Java no artigo Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Java do Pub/Sub.
Node.js
Antes de experimentar este exemplo, siga as instruções de configuração do Node.js em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Pub/Sub.
Node.js
Antes de experimentar este exemplo, siga as instruções de configuração do Node.js em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Pub/Sub.
PHP
Antes de experimentar este exemplo, siga as instruções de configuração do PHP no artigo Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API PHP Pub/Sub.
Python
Antes de experimentar este exemplo, siga as instruções de configuração do Python em Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Python Pub/Sub.
Ruby
O exemplo seguinte usa a biblioteca cliente Ruby Pub/Sub v3. Se ainda estiver a usar a biblioteca v2, consulte o guia de migração para a v3. Para ver uma lista de exemplos de código do Ruby v2, consulte os exemplos de código descontinuados.
Antes de experimentar este exemplo, siga as instruções de configuração do Ruby em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Ruby Pub/Sub.
Desative o envio de mensagens em lote
Para desativar o processamento em lote na biblioteca de cliente, defina o valor de
max_messages
como 1.
Envio de mensagens em lote e entrega ordenada
Com a entrega ordenada, a não confirmação de qualquer mensagem no lote significa que todas as mensagens no lote, incluindo as enviadas antes da mensagem que não foi confirmada, são reenviadas.
Quotas e limites nas mensagens em lote
Antes de configurar o envio de mensagens em lote, considere o efeito de fatores como a quota de débito de publicação e o tamanho máximo de um lote. As bibliotecas de cliente de nível superior garantem que os pedidos em lote se mantêm dentro dos limites especificados.
- 1000 bytes é o tamanho mínimo do pedido considerado para efeitos de custo, mesmo que o tamanho real da mensagem possa ser inferior a 1000 bytes.
- O Pub/Sub tem um limite de 10 MB ou 1000 mensagens para um único pedido de publicação em lote.
Para mais informações, consulte o artigo Quotas e limites do Pub/Sub.
O que se segue?
Para saber como configurar opções de publicação avançadas, consulte o seguinte: