Perguntas frequentes sobre eventos de arquivo
Encontre respostas para perguntas frequentes sobre eventos de arquivo para locais externos.
O que são eventos de arquivo?
Eventos de arquivo permitem que a Databricks detecte arquivos novos ou alterados por meio de notificações na cloud, em vez de verificar repetidamente o armazenamento. Eventos de arquivo reduzem a latência de ingestão e os custos de listagem de armazenamento cloud e são ativados por padrão em novos locais externos.

Como funcionam os eventos de arquivo?
Quando você habilita eventos de arquivo no modo **Automático**, o Databricks configura seu bucket S3 para publicar notificações de alteração de arquivo em um tópico SNS gerenciado (com o csms-* prefixo) e provisiona uma fila SQS inscrita nesse tópico. O serviço de eventos de arquivo do Databricks lê metadados de caminho de arquivo da fila SQS para descobrir arquivos novos e alterados. Como uma medida de segurança, o serviço também realiza listagens completas de diretório periódicas para garantir que nenhum arquivo seja perdido.
A infraestrutura de notificação nunca transmite conteúdo de arquivos.
Quais recursos do Databricks usam eventos de arquivo?
Os seguintes recursos usam eventos de arquivo quando habilitados em um local externo:
- Auto Loader : Detecta novos arquivos para ingestão incremental sem listagens de diretório onerosas. A partir do Databricks Runtime 18.1 e versões superiores, o Auto Loader usa automaticamente eventos de arquivo quando disponíveis (
useManagedFileEvents = if_available). - Gatilhos de chegada de arquivo : Acionam automaticamente seu Job quando novos arquivos chegam, proporcionando melhor utilização de recurso e eficiência de custos, porque seu cluster está em execução somente quando há novos arquivos para processar. Os triggers de chegada de arquivo são significativamente mais escaláveis com eventos de arquivo ativados. Consulte Acionar jobs quando chegarem novos arquivos.
- Triggers de atualização de tabelas : Começar automaticamente seu job com base nas atualizações em uma tabela. Triggers de atualização de tabela são significativamente mais escaláveis com eventos de arquivo ativados. Consulte Acionar jobs quando as tabelas de origem são atualizadas.
Como posso ativar eventos de arquivo em meus pipelines e jobs?
Primeiro, habilite os eventos de arquivo para seu local externo. Consulte Configurar eventos de arquivo para um local externo.
Se forem usados eventos de arquivo com a chegada de arquivo ou triggers de atualização de tabela, não será necessário tomar ações adicionais. O job se beneficia automaticamente de eventos de arquivo.
Além disso, se você utilizar o Auto Loader com o Databricks Runtime 18.1 ou acima, não precisará de nenhuma ação adicional. O pipeline se beneficia automaticamente de eventos de arquivo. Para versões anteriores do runtime, habilite os eventos de arquivo no pipeline:
spark.readStream.option("cloudFiles.useManagedFileEvents", "true")...
E se eu não estiver usando o Auto Loader ou gatilhos hoje?
É possível desativar eventos de arquivo a qualquer momento e o Databricks limpa automaticamente os recursos de notificação. Databricks recomenda manter os eventos de arquivo ativados.
Posso cancelar a participação em eventos de arquivo?
Databricks habilita eventos de arquivo por default para novos locais externos porque eles reduzem custos e melhoram o desempenho para cargas de trabalho de ingestão.
Para criar uma localização externa sem eventos de arquivo:
- Catalog Explorer
- API
- No Catalog Explorer, comece a criar uma nova localização externa.
- Se a credencial de armazenamento não tiver permissões de eventos de arquivo, será exibido um aviso de validação. Clique em "Forçar criação" para continuar.
- Após a criação, verifique se os eventos de arquivo estão desativados selecionando o local e desmarcando a configuração de eventos de arquivo.
Definir enable_file_events como false na solicitação de criação de localização externa.
Para desabilitar eventos de arquivo em um local externo existente, consulte Configurar eventos de arquivo para um local externo.
O Databricks cria recursos na minha conta AWS?
Sim. Quando você habilita os eventos de arquivo no modo **Automático**, o Databricks cria um tópico SNS e uma fila SQS csms-* (prefixados) por local externo na sua conta AWS e configura as notificações do bucket S3 para publicar no tópico SNS. Você pode, de forma alternativa, trazer sua própria fila usando o modo **Fornecido**. Consulte Quando devo usar o modo Fornecido em vez do Automático?.
A Databricks gerencia os recursos que cria?
A Databricks gerencia renovações de assinatura e consumo de mensagens. O serviço de eventos de arquivo lê da fila SQS e executa periodicamente listagens completas de diretórios para verificar se nenhum arquivo foi perdido.
Ao desativar eventos de arquivo em um local externo, o Databricks remove a configuração de notificação do bucket S3 e exclui o tópico SNS e a fila SQS associados. Ao excluir um local externo com eventos de arquivo ativados, o Databricks limpa os recursos de notificação associados.
Para encontrar recursos de evento de arquivo gerenciados pelo Databricks na sua account AWS, procure por tópicos SNS e filas SQS com o prefixo csms-*.
Como o Databricks obtém as permissões para criar recursos na cloud e ler e excluir mensagens da fila?
Databricks usa as permissões concedidas na credencial de armazenamento associada ao local externo onde os eventos de arquivo estão habilitados.
Quantos tópicos SNS e filas SQS são criados?
Um tópico SNS e uma fila SQS são criados por local externo. Se houver múltiplas localizações externas no mesmo bucket, cada uma recebe seu próprio par de recursos.
Que dados fluem por SNS e SQS?
As notificações de eventos de arquivo contêm campos de notificação de eventos padrão do S3, incluindo a chave de objeto S3 (caminho do arquivo), tipo de evento (por exemplo, s3:ObjectCreated:Put), carimbo de data/hora, nome do bucket e região. Para o esquema completo, consulte estrutura do conteúdo de notificação do Amazon S3.
O conteúdo do arquivo nunca é transmitido através do tópico SNS ou da fila SQS.
Qual é o custo disto?
A habilitação de eventos de arquivo cria um tópico SNS e uma fila SQS em sua AWS account. Esses recursos geram cobranças padrão de mensagens da AWS com base na atividade de seus arquivos (criações, atualizações, exclusões), e não na quantidade total de dados armazenados.
Para a maioria das cargas de trabalho, o custo incremental é uma pequena fração do que já se paga pelo armazenamento S3 no mesmo local. É possível estimar seus custos usando as páginas padrão de preços do AWS SNS e de preços do AWS SQS, com base no número de eventos de alteração de arquivo que seus buckets geram.
Podem caminhos de arquivo conter PII ou dados confidenciais?
Isso depende de como sua organização nomeia os arquivos. A chave de objeto S3 (caminho) está incluída em cada notificação de evento. Se suas convenções de nomenclatura de arquivos incorporam PII ou identificadores confidenciais em caminhos, esses valores fluem pelo tópico SNS e pela fila SQS. No entanto, estes são recursos em sua própria conta AWS, e o Databricks já tem acesso de leitura a esses mesmos caminhos de arquivo por meio da credencial de armazenamento. Locais externos com eventos de arquivo não dão ao Databricks mais acesso aos seus dados do que locais externos sem eventos de arquivo.
Quais controles de criptografia e segurança estão implementados?
- Criptografia em repouso: tópicos SNS e filas SQS gerenciados usam criptografia gerenciada pela AWS em repouso.
- Criptografia em trânsito: Toda comunicação entre S3, SNS, SQS e o serviço Databricks usa TLS.
- Escopo : Recursos gerenciados têm o escopo definido para o namespace
csms-*e são acessíveis apenas por meio da IAM role na credencial de armazenamento. - **Auditoria**: Recursos gerenciados pelo Databricks usam o
csms-*prefixo de nomeação. É possível usar o AWS CloudTrail para monitorar todas as chamadas de API para estes recursos.
Considerações para ambientes regulamentados
Organizações com políticas rigorosas de segurança de cloud devem considerar o seguinte:
- A política do IAM de eventos de arquivo está restrita a recursos prefixados com
csms-*. Não concede acesso a nenhum tópico SNS existente, filas SQS ou outros recursos fora deste namespace. - Se suas políticas proibirem que serviços de terceiros criem recursos da AWS, use o modo Fornecido e forneça o seu próprio ARN de fila SQS.
- Notificações contêm apenas metadados de evento S3 (como chaves de objeto, tipos de evento, carimbos de data/hora, identificadores de bucket e região). O conteúdo do arquivo não flui pela infraestrutura.
- Utilize o AWS CloudTrail para monitorar todas as chamadas de API para os recursos
csms-*. - Recursos gerenciados usam criptografia gerenciada pela AWS em repouso. Todas as comunicações usam TLS em trânsito.
Quando devo usar o modo fornecido em vez do Automático?
Automático é recomendado para a maioria dos clientes. Modo Fornecido , onde se cria e gerencia a fila, está disponível para organizações cujas políticas proíbem a criação de recursos de terceiros. A configuração para o **Modo fornecido** é complexa e de autoatendimento; o Databricks não fornece suporte para o provisionamento desses recursos.
Se sua organização precisar restringir a criação de recursos, considere usar o modo **Provided**. Para instruções de configuração, consulte Configurar eventos de arquivo para um local externo.