Assinaturas do Cloud Storage

Uma assinatura do Cloud Storage é um tipo de assinatura de exportação que grava mensagens em um bucket do Cloud Storage à medida que são recebidas. Você não precisa configurar um cliente assinante separado. Use o console do Google Cloud, a Google Cloud CLI, as bibliotecas de cliente ou a API Pub/Sub para criar, atualizar, listar, remover ou excluir uma assinatura do Cloud Storage.

Sem o tipo de assinatura do Cloud Storage, você precisa de uma assinatura de pull ou push e de um assinante (como o Dataflow) que leia mensagens e as grave em um bucket do Cloud Storage. A sobrecarga da execução de um job do Dataflow não é necessária quando as mensagens não exigem processamento adicional antes de serem armazenadas em um bucket do Cloud Storage. Em vez disso, use uma assinatura do Cloud Storage.

No entanto, um pipeline do Dataflow ainda é recomendado para sistemas Pub/Sub em que alguma transformação de dados é necessária antes que eles sejam armazenados em um bucket do Cloud Storage.

Para saber como fazer streaming de dados do Pub/Sub para o Cloud Storage com transformação usando o Dataflow, consulte Fazer streaming de mensagens do Pub/Sub usando o Dataflow.

Antes de começar

Antes de ler este documento, certifique-se de que você conheça o seguinte:

Fluxo de trabalho de assinatura do Cloud Storage

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

Fluxo de mensagens para uma assinatura do Cloud Storage

Figura 1. Fluxo de trabalho para uma assinatura do Cloud Storage

Aqui está uma breve descrição do fluxo de trabalho que referencia a Figura 1:

  1. O Pub/Sub usa a API Cloud Storage para enviar dados ao bucket do Cloud Storage. Após a conclusão de uma operação de gravação, a API retorna uma resposta OK.

  2. As mensagens são enviadas em lotes para o bucket do Cloud Storage. Um único lote corresponde a um objeto armazenado no bucket do Cloud Storage. É possível definir as configurações do lote com base no tamanho do objeto e no tempo decorrido desde a criação dele.

  3. O fluxo de trabalho para gravar um objeto em um bucket do Cloud Storage requer duas respostas OK. A primeira resposta OK é enviada quando uma mensagem é gravada em um objeto. A segunda resposta OK é enviada quando o objeto que contém a mensagem é finalizado. Uma mensagem só se torna visível no bucket depois que o objeto do Cloud Storage que a contém for finalizado com êxito.

  4. Se houver falhas durante a operação de gravação, a própria mensagem do Pub/Sub será reconhecida negativamente. A mensagem é reenviada. Se a operação de gravação de mensagens falhar muitas vezes e você tiver um tópico de mensagens inativas configurado na assinatura, a mensagem será movida para o tópico de mensagens inativas.

Propriedades de uma assinatura do Cloud Storage

Ao criar uma assinatura do Cloud Storage, você precisa especificar algumas outras propriedades. Elas incluem propriedades de assinatura comuns, requisitos de formato, nome de arquivo, requisitos de armazenamento, entre outros. Para saber mais sobre essas propriedades, consulte Propriedades da assinatura do Cloud Storage.

Permissões da conta de serviço do Pub/Sub

Para criar uma assinatura do Cloud Storage, a conta de serviço do Pub/Sub precisa ter permissão para gravar no bucket específico do Cloud Storage e ler os metadados dele.

Para mais informações, acesse Atribuir papéis do Cloud Storage à conta de serviço do Pub/Sub.

Gerenciar falhas de mensagens

Quando não é possível gravar uma mensagem do Pub/Sub em um bucket do Cloud Storage, ela não pode ser confirmada. Para encaminhar essas mensagens não entregues, configure um tópico de mensagens inativas na assinatura do Cloud Storage.

Cotas

As limitações de cota se aplicam à capacidade do assinante do Cloud Storage de cada região. Para mais informações sobre as cotas de assinaturas do Cloud Storage, consulte os limites de cota de assinantes de exportação em Cotas e limites do Pub/Sub.

Preços

Para informações sobre os preços de assinaturas do Cloud Storage, consulte a página de preços do Pub/Sub.

A seguir