Skip to main content
Por padrão, o GCS ClickPipe pressupõe que os arquivos são adicionados a um bucket em ordem lexicográfica. É possível configurar um GCS ClickPipe para fazer a ingestão de arquivos que não seguem uma ordem implícita, configurando uma assinatura do Google Cloud Pub/Sub conectada ao bucket. Isso permite que o ClickPipes receba notificações OBJECT_FINALIZE e faça a ingestão de novos arquivos independentemente da convenção de nomenclatura.
O modo não ordenado não é compatível com buckets públicos. Ele exige autenticação por Service Account e uma assinatura do Google Cloud Pub/Sub conectada ao bucket.

Como funciona

Nesse modo, o GCS ClickPipe faz uma carga inicial de todos os arquivos no caminho selecionado e, em seguida, passa a escutar notificações de objetos pela assinatura do Pub/Sub que correspondam ao caminho especificado. Qualquer mensagem referente a um arquivo já visto, a um arquivo que não corresponda ao caminho ou a um evento de outro tipo será ignorada. Não é possível iniciar a ingestão a partir de um arquivo específico ou de um momento específico — o ClickPipes sempre carregará todos os arquivos no caminho selecionado. Vários tipos de falha podem ocorrer durante a ingestão de dados, o que pode resultar em inserts parciais ou dados duplicados. Os Object Storage ClickPipes são resilientes a falhas de insert e fornecem semântica de exatamente uma vez usando staging tables temporárias. Primeiro, os dados são inseridos em uma staging table; se algo der errado, a staging table é truncada e o insert é repetido a partir de um estado limpo. Somente depois que um insert é concluído com sucesso as partições são movidas para a tabela de destino.
1

Crie um tópico do Google Cloud Pub/Sub

1. No Google Cloud Console, navegue até Pub/Sub > Topics > Create topic. Crie um novo tópico com uma assinatura padrão e anote o Nome do tópico.
Uma assinatura por ClickPipeCada ClickPipe precisa da sua própria assinatura dedicada do Pub/Sub. Em uma única assinatura, o Pub/Sub entrega cada mensagem a apenas um assinante: se dois ou mais ClickPipes (ou qualquer outro aplicativo) consumirem a mesma assinatura, cada notificação será recebida por apenas um deles, e os arquivos serão ignorados silenciosamente pelos pipes que nunca a receberem. Isso se aplica mesmo que os ClickPipes usem padrões de caminho diferentes — um pipe que recebe uma notificação de um arquivo que não corresponde ao padrão a descarta, e nenhum outro pipe jamais a verá. Para fazer a ingestão a partir do mesmo bucket com vários ClickPipes, crie uma assinatura separada no tópico para cada ClickPipe.
2. Configure uma notificação de bucket do GCS que publique eventos OBJECT_FINALIZE no tópico do Pub/Sub criado acima.2.1. Esta etapa não pode ser executada no Google Cloud Console, portanto você deve usar o cliente gcloud ou a interface programática de sua preferência para o Google Cloud. Por exemplo, usando gcloud:
2

Configure uma conta de serviço

1. Configure uma conta de serviço com as permissões necessárias para permitir que o ClickPipes liste e busque objetos no bucket especificado, bem como consuma e monitore notificações da assinatura do Pub/Sub.1.1. Esta etapa pode ser executada no Google Cloud Console, usando o cliente gcloud ou a interface programática de sua preferência para o Google Cloud. Por exemplo, usando gcloud:
3

Crie um ClickPipe com modo não ordenado

1. No console do ClickHouse Cloud, navegue até Data Sources > Create ClickPipe e selecione Google Cloud Storage. Insira os detalhes para se conectar ao seu bucket do GCS. Em Authentication method, escolha Service Account e forneça a chave .json da conta de serviço.2. Ative Continuous ingestion, depois selecione Any order como modo de ingestão e informe o nome da assinatura do Pub/Sub conectada ao seu bucket. A assinatura deve ser usada exclusivamente por este ClickPipe — veja Crie um tópico do Google Cloud Pub/Sub. O nome da assinatura deve seguir o formato abaixo:
3. Clique em Incoming data. Defina uma Sorting key para a tabela de destino. Faça os ajustes necessários no schema mapeado e, em seguida, configure uma role para o usuário de banco de dados do ClickPipes.4. Revise a configuração e clique em Create ClickPipe. O ClickPipes fará uma varredura inicial no bucket para carregar todos os arquivos existentes que correspondam ao caminho especificado e, em seguida, começará a processar os arquivos à medida que novos eventos OBJECT_FINALIZE chegarem ao tópico.
Última modificação em 23 de julho de 2026