Assinaturas do Bigtable

As assinaturas do Bigtable permitem gravar mensagens do Pub/Sub em uma tabela do Bigtable. Este documento oferece uma visão geral das assinaturas do Bigtable, incluindo o fluxo de trabalho de assinatura, a semântica de entrega e o tratamento de erros.

Para criar uma assinatura do Bigtable, consulte Criar uma assinatura do Bigtable.

Visão geral

Uma assinatura do Bigtable é um tipo de assinatura de exportação que grava mensagens em uma tabela do Bigtable à medida que são recebidas. Ao usar uma assinatura de exportação, não é necessário configurar um cliente assinante separado.

Considere usar uma assinatura do Bigtable se você quiser gravar mensagens no Bigtable e elas não precisarem de processamento adicional ou se o processamento puder ser realizado por uma transformação de mensagem única (SMT).

Se você precisar realizar transformações mais complexas antes de gravar mensagens no Bigtable, recomendamos usar um pipeline do Dataflow com uma assinatura por pull. Para mais informações, consulte Ler do Pub/Sub para o Dataflow.

Para mais informações sobre como escolher um tipo de assinatura do Pub/Sub, consulte Escolher um tipo de assinatura.

Fluxo de trabalho de assinatura do Bigtable

A imagem a seguir mostra o fluxo de trabalho entre uma assinatura do Bigtable e o Bigtable.

Uma assinatura do Bigtable grava em uma tabela do Bigtable.

O fluxo de trabalho consiste nas seguintes etapas:

  1. Um editor envia uma mensagem para um tópico do Pub/Sub.

  2. O Pub/Sub encaminha a mensagem para a assinatura do Bigtable.

  3. A assinatura envia uma solicitação de gravação para o Bigtable. Na solicitação de gravação, a assinatura especifica um perfil de aplicativo que usa o roteamento de cluster único.

  4. O Bigtable encaminha a mensagem para o cluster do Bigtable que contém a tabela.

  5. A solicitação de gravação é confirmada na tabela.

  6. Após a conclusão de uma operação de gravação, a API Bigtable retorna uma resposta de sucesso.

Se uma operação de gravação falhar, ela será processada da seguinte maneira:

  1. A mensagem do Pub/Sub é reconhecida negativamente.

  2. O Pub/Sub reenvia a mensagem.

  3. Se a mensagem falhar várias vezes e um tópico de mensagens inativas estiver configurado na assinatura, a mensagem será movida para o tópico de mensagens inativas.

Semântica de entrega

As assinaturas do Bigtable oferecem suporte à entrega pelo menos uma vez. Se você precisar de duplicação exata de mensagens, implemente processos downstream para lidar com possíveis duplicatas no Bigtable ou use os recursos de processamento exatamente uma vez do Dataflow.

Como lidar com falhas de mensagens

Se uma mensagem do Pub/Sub não puder ser gravada no Bigtable, ela não poderá ser reconhecida. Para encaminhar essas mensagens não entregues, configure um tópico de mensagens inativas na assinatura do Bigtable. A mensagem do Pub/Sub encaminhada para o tópico de mensagens inativas contém um atributo chamado CloudPubSubDeadLetterSourceDeliveryErrorMessage que contém o motivo da falha de gravação.

Se o Pub/Sub não puder gravar mensagens no Bigtable, então ele fará o backoff da entrega de mensagens de maneira semelhante ao comportamento de backoff de push.

Cotas e limites

O Pub/Sub tem limitações de cota na capacidade de processamento do assinante do Bigtable por região. Para mais informações, consulte Cotas e limites do Pub/Sub.

Para informações sobre os limites do Bigtable, consulte Cotas e limites na documentação do Bigtable.

Preços

Para saber mais sobre os preços das assinaturas do Bigtable, consulte a página de preços do Pub/Sub.

A seguir