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
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.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.- via EventBridge
- Direct S3 → SQS
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, Opcionalmente, adicione uma condição
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: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:<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 eventosObjectCreated:* chegarem à fila.