Assinaturas do Cloud Storage

Uma assinatura do Cloud Storage é um tipo de assinatura de exportação que grava mensagens em um bucket atual do Cloud Storage à medida que elas 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 lê mensagens e as grava em um bucket do Cloud Storage. A sobrecarga de executar um job do Dataflow não é necessária quando as mensagens não exigem processamento extra antes de armazená-las 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 os dados sejam armazenados em um bucket do Cloud Storage.

Para aprender 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, você precisa conhecer bem:

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

Veja a seguir uma breve descrição do fluxo de trabalho que faz referência à 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 de lote com base no tamanho do objeto e no tempo decorrido desde que ele foi criado.

  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 é finalizado com sucesso.

  4. Se houver falhas durante a operação de gravação, a própria mensagem do Pub/Sub será confirmada negativamente. A mensagem é reenviada. Se a operação de gravação de mensagens falhar várias 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, é necessário especificar algumas propriedades adicionais. Isso inclui propriedades comuns de assinatura, requisitos de nome de arquivo e formato, de armazenamento e muito mais. 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.

Saiba mais em Atribuir papéis do Cloud Storage à conta de serviço do Pub/Sub.

Lidar com falhas de mensagens

Quando uma mensagem do Pub/Sub não pode ser gravada 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 para cada região. Para informações sobre as cotas para 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 das assinaturas do Cloud Storage, consulte a página de preços do Pub/Sub.

A seguir