Pular para o conteúdo principal
Por padrão, o S3 ClickPipe pressupõe que os arquivos sejam adicionados a um bucket em ordem lexicográfica. É possível configurar um S3 ClickPipe para fazer a ingestão de arquivos que não tenham uma ordem implícita, configurando uma fila do Amazon SQS conectada ao bucket e, opcionalmente, usando o Amazon EventBridge como roteador de eventos. Isso permite que o ClickPipes escute eventos ObjectCreated:* e faça a ingestão de novos arquivos, independentemente da convenção de nomenclatura.
O modo não ordenado é compatível somente com o Amazon S3 e não é compatível com buckets públicos nem com serviços compatíveis com S3. Ele exige a configuração de uma fila do Amazon SQS conectada ao bucket e, opcionalmente, o uso do Amazon EventBridge como roteador de eventos.

Como funciona

Nesse modo, o ClickPipe do S3 faz uma carga inicial de todos os arquivos no caminho selecionado e, em seguida, passa a escutar eventos ObjectCreated:* na fila 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. A ingestão dos arquivos ocorre quando o limite configurado em max insert bytes ou max file count é atingido, ou após um intervalo configurável (por padrão, 30 segundos). Não é possível iniciar a ingestão a partir de um arquivo específico ou de um ponto no tempo — 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 inserções parciais ou dados duplicados. Os ClickPipes de armazenamento de objetos são resilientes a falhas de inserção e fornecem semântica exactly-once usando tabelas temporárias de staging. Os dados são primeiro inseridos em uma tabela de staging; se algo der errado, a tabela de staging é truncada e a inserção é repetida a partir de um estado limpo. Somente depois que uma inserção é concluída com sucesso as partições são movidas para a tabela de destino.
1

Criar uma fila do Amazon SQS

1. No AWS Console, navegue até Simple Queue Service > Create queue. Use as configurações padrão para criar uma nova fila padrão.
Recomendamos fortemente configurar uma fila de mensagens mortas (DLQ) para a fila do SQS, para facilitar a depuração e a nova tentativa de processamento de mensagens com falha. Se uma DLQ estiver configurada, as mensagens com falha serão reenfileiradas e reprocessadas até atingir o número de tentativas definido no parâmetro maxReceiveCount da DLQ.
2. Conecte seu bucket do S3 à fila SQS usando uma das duas opções abaixo. O EventBridge é recomendado para a maioria dos casos de uso porque oferece suporte a fan-out, filtragem de eventos mais flexível e não está sujeito à restrição do S3 de uma regra de notificação por tipo de evento por prefixo.
a. Nas propriedades do bucket do S3, navegue até Event notifications > Amazon EventBridge e habilite o envio de notificações para o EventBridge. Clique em Save changes.b. No Console da AWS, navegue até Amazon EventBridge > Rules > Create rule. Dê um nome à regra (por exemplo, S3ObjectCreated), escolha o barramento de eventos default e clique em Next. Na etapa Build event pattern, selecione AWS events or EventBridge partner events como origem do evento e, em seguida, insira manualmente o seguinte padrão de evento, substituindo <bucket-name> pelo nome do seu bucket:
Opcionalmente, adicione uma condição object.key ao padrão para filtrar por prefixo ou sufixo. Se fizer isso, verifique se ela corresponde ao caminho definido para o ClickPipe.c. Na etapa Select target(s), escolha AWS service como tipo de destino e selecione SQS queue. Selecione a fila criada na etapa anterior. Deixe Use execution role (recommended) marcado para que o EventBridge crie automaticamente a IAM role necessária e, em seguida, clique em Next e conclua o assistente.d. Edite a política de acesso da fila do SQS para permitir que o EventBridge envie mensagens para ela. Substitua <sqs-queue-arn> e <eventbridge-rule-arn> pelos valores apropriados:
2

Configure uma função do IAM

1. No console do ClickHouse Cloud, navegue até Settings > Network security information e copie o ARN da função do IAM do seu serviço.2. No Console da AWS, navegue até IAM > Roles > Create role. Escolha Custom trust policy e cole o texto a seguir, substituindo <ch-cloud-arn> pelo ARN da função do IAM copiado na etapa anterior:
3. Crie uma política inline para a função do IAM com as permissões necessárias para ler objetos no S3 e gerenciar mensagens na fila do SQS. Substitua <bucket-arn> e <sqs-queue-arn> pelos valores apropriados:
3

Crie um ClickPipe com modo não ordenado

1. No console do ClickHouse Cloud, navegue até Fontes de dados > Criar ClickPipe e selecione Amazon S3. Insira os detalhes para se conectar ao seu bucket do S3. Em Método de autenticação, escolha IAM role e informe o ARN da role que você criou na etapa anterior.2. Em Dados de entrada, ative Ingestão contínua. Selecione Qualquer ordem como modo de ingestão e informe a URL da fila do SQS da fila conectada ao seu bucket.3. Em Informações de parsing, defina uma Chave de ordenação para a tabela de destino. Faça os ajustes necessários no esquema mapeado e, em seguida, configure uma role para o usuário do banco de dados do ClickPipes.4. Revise a configuração e clique em Criar ClickPipe. O ClickPipes fará uma varredura inicial no seu 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 ObjectCreated:* chegarem à fila.
Última modificação em 19 de junho de 2026