Aller au contenu principal

FAQ sur les événements de fichier

Trouvez des réponses aux questions fréquemment posées sur les événements de fichiers pour les emplacements externes.

Que sont les événements de fichier ?

Les événements de fichier permettent à Databricks de détecter les fichiers nouveaux ou modifiés via les notifications du cloud au lieu d'analyser votre stockage de manière répétée. Les événements de fichiers réduisent la latence d’ingestion et les coûts de listage du stockage cloud et sont activés par default sur les nouveaux emplacements externes.

Schéma illustrant le processus des événements de fichiers : une source de fichiers publie des fichiers vers le stockage cloud du client, qui publie des notifications vers un abonnement et une file d'attente d'événements. Unity Catalog autorise l'accès cloud du service géré d'événements de fichiers. Le service établit la connexion, extrait les événements de fichiers de la file d'attente, stocke les métadonnées de fichier dans une base de données et liste les objets pour les consommateurs d'Auto Loader et de Trigger.

Comment fonctionnent les événements de fichier ?

Lorsque vous activez les événements de fichier en mode **Automatique**, Databricks configure votre compartiment S3 pour publier des notifications de modification de fichier sur une rubrique SNS gérée (avec le csms-* préfixe) et provisionne une file d'attente SQS abonnée à cette rubrique. Le service d'événements de fichier Databricks lit les métadonnées de chemin de fichier de la file d'attente SQS pour découvrir les fichiers nouveaux et modifiés. Par mesure de sécurité, le service effectue également des listes complètes et périodiques des répertoires pour s'assurer qu'aucun fichier n'est manqué.

L'infrastructure de notification ne transmet jamais le contenu des fichiers.

Quelles fonctionnalités de Databricks utilisent les événements de fichiers ?

Les fonctionnalités suivantes utilisent les événements de fichiers lorsque vous les activez sur un emplacement externe :

  • Auto Loader : Détecte les nouveaux fichiers pour l'ingestion incrémentielle sans listes de répertoires coûteuses. À partir de Databricks Runtime 18.1 et versions ultérieures, Auto Loader utilise automatiquement les événements de fichier lorsqu'ils sont disponibles (useManagedFileEvents = if_available).
  • Triggers d'arrivée de fichiers : start automatiquement votre Job lorsque de nouveaux fichiers arrivent, ce qui améliore l'utilisation des Ressources et l'efficacité des coûts, car votre cluster ne s'exécute que lorsque de nouveaux fichiers doivent être traités. Les Trigger d'arrivée de fichiers sont considérablement plus évolutifs lorsque les événements de fichiers sont activés. Consultez Trigger des jobs à l'arrivée de nouveaux fichiers.
  • Table update Trigger : automatically start your Job based on updates in a table. Les Trigger de mise à jour des tables sont beaucoup plus évolutifs avec les événements de fichiers activés. Voir Trigger Jobs lorsque les tables sources sont mises à jour.

Comment puis-je activer les événements de fichier dans mes pipelines et Jobs ?

Tout d'abord, activez les événements de fichier pour votre emplacement externe. Consultez Configuration des événements de fichiers pour un emplacement externe.

Si vous utilisez des événements de fichiers avec des triggers d'arrivée de fichiers ou de mise à jour de tables, vous n'avez pas besoin d'entreprendre d'action supplémentaire. Le Job bénéficie automatiquement des événements de fichiers.

De plus, si vous utilisez Auto Loader avec Databricks Runtime 18.1 ou une version ultérieure, aucune action supplémentaire n'est requise. Le pipeline bénéficie automatiquement des événements de fichier. Si vous utilisez une version d'exécution antérieure, activez les événements de fichier sur le pipeline :

Python
spark.readStream.option("cloudFiles.useManagedFileEvents", "true")...

Que se passe-t-il si je n'utilise pas Auto Loader ou les Trigger aujourd'hui ?

Vous pouvez désactiver les événements de fichiers à tout moment et Databricks nettoie les ressources de notification pour vous. Databricks recommande de laisser les événements de fichier activés.

Puis-je me désinscrire des événements de fichier ?

Databricks active les événements de fichiers par default pour les nouveaux emplacements externes, car ils réduisent les coûts et améliorent les performances des charges de travail d'ingestion.

Pour créer un emplacement externe sans événements de fichier :

  1. Dans l'Explorateur de catalogues, commencez à créer un nouvel emplacement externe.
  2. Si l'identifiant de stockage ne dispose pas des permissions d'événements de fichiers, vous verrez un avertissement de validation. Cliquez sur **Forcer la création** pour continuer.
  3. Après la création, vérifiez que les événements de fichier sont désactivés en sélectionnant l'emplacement et en décochant le paramètre des événements de fichier.

Pour désactiver les événements de fichier sur un emplacement externe existant, consultez la section Configurer les événements de fichier pour un emplacement externe.

Databricks crée-t-il des ressources dans mon compte AWS ?

Oui. Lorsque vous activez les événements de fichiers en mode Automatique , Databricks crée un sujet SNS et une file d'attente SQS (préfixée csms-*) par emplacement externe dans votre compte AWS et configure les notifications de compartiment S3 pour publier sur le sujet SNS. Vous pouvez également apporter votre propre file d’attente à l’aide du mode **Provided**. Consultez Quand dois-je utiliser le mode Provided plutôt que le mode Automatic ?.

Databricks gère-t-il les Ressources qu'il crée ?

Databricks gère les renouvellements d'abonnements et la consommation des messages. Le service des événements de fichiers lit à partir de la file d'attente SQS et effectue périodiquement des listes complètes de répertoires pour vérifier qu'aucun fichier n'est manquant.

Lorsque vous désactivez les événements de fichiers sur un emplacement externe, Databricks supprime la configuration de notification du compartiment S3 et supprime la rubrique SNS et la file d'attente SQS associées. Lorsque vous supprimez un emplacement externe avec les événements de fichiers activés, Databricks nettoie les ressources de notification associées.

Pour trouver les ressources d’événements de fichier gérées par Databricks dans votre compte AWS, recherchez les rubriques SNS et les files d’attente SQS avec le préfixe csms-*.

Comment Databricks obtient-il les autorisations pour créer des ressources cloud et lire et supprimer les messages de la file d'attente ?

Databricks utilise les autorisations accordées dans l'identifiant de stockage associé à l'emplacement externe sur lequel les événements de fichier sont activés.

Combien de rubriques SNS et de files d'attente SQS sont créées ?

Un sujet SNS et une file d'attente SQS sont créés par emplacement externe. Si vous avez plusieurs emplacements externes sur le même compartiment, chacun obtient sa propre paire de Ressources.

Quelles données circulent via SNS et SQS ?

Les notifications d'événements de fichier contiennent des champs de notification d'événements S3 standard, notamment la clé d'objet S3 (chemin de fichier), le type d'événement (par exemple, s3:ObjectCreated:Put), le timestamp, le nom du compartiment et la région. Pour le schéma complet, consultez la structure du contenu de la notification Amazon S3.

Le contenu du fichier n’est jamais transmis via la rubrique SNS ou la file d’attente SQS.

Combien cela coûte-t-il ?

L'activation des événements de fichier crée une rubrique SNS et une file d'attente SQS dans votre compte AWS. Ces ressources entraînent des frais de messagerie AWS standards en fonction de l'activité de vos fichiers (créations, mises à jour, suppressions), et non sur la quantité totale de données stockées.

Pour la plupart des charges de travail, le coût incrémentiel représente une petite fraction de ce que vous payez déjà pour le stockage S3 au même emplacement. Vous pouvez estimer vos coûts en utilisant les pages standard de tarifs AWS SNS et de tarifs AWS SQS, en fonction du nombre d'événements de modification de fichiers générés par vos compartiments.

Les chemins de fichiers peuvent-ils contenir des PII ou des données sensibles ?

Cela dépend de la façon dont votre organisation nomme les fichiers. La clé d'objet S3 (chemin) est incluse dans chaque notification d'événement. Si vos conventions de nommage de fichiers intègrent des informations personnelles identifiables (PII) ou des identifiants sensibles dans les chemins, ces valeurs transitent par la rubrique SNS et la file d'attente SQS. Cependant, ce sont des ressources dans votre propre compte AWS, et Databricks dispose déjà d'un accès en lecture à ces mêmes chemins de fichier via les identifiants de stockage. Les emplacements externes avec événements de fichier ne donnent pas à Databricks plus d'accès à vos données que les emplacements externes sans événements de fichier.

Quels sont les contrôles de chiffrement et de sécurité en place ?

  • Chiffrement au repos : Les rubriques SNS gérées et les files d'attente SQS utilisent le chiffrement au repos géré par AWS.
  • Chiffrement en transit : Toutes les communications entre S3, SNS, SQS et le service Databricks utilisent TLS.
  • Portée : les ressources gérées sont limitées au namespace csms-* et accessibles uniquement via le rôle IAM dans les informations d’identification de stockage.
  • Audit : les ressources gérées par Databricks utilisent le préfixe de nommage csms-*. Vous pouvez utiliser AWS CloudTrail pour surveiller tous les appels d'API à ces Ressources.

Considérations pour les environnements réglementés

Les organisations dotées de politiques strictes en matière de sécurité du cloud devraient prendre en compte les éléments suivants :

  • La politique IAM des événements de fichier est limitée aux ressources préfixées par csms-*. Il ne donne pas accès à des rubriques SNS, des files d'attente SQS ou d'autres Ressources existantes en dehors de cet espace de noms.
  • Si vos stratégies interdisent aux services tiers de créer des ressources AWS, utilisez le mode Fourni et fournissez votre propre ARN de file d'attente SQS.
  • Les notifications ne contiennent que des métadonnées d'événement S3 (telles que les clés d'objet, les types d'événement, les Timestamp, les identifiants de compartiment et de région). Aucun contenu de fichier ne transite par l'infrastructure.
  • Utilisez AWS CloudTrail pour surveiller tous les appels API vers les Ressources csms-*.
  • Les ressources gérées utilisent le chiffrement géré par AWS au repos. Toutes les communications utilisent TLS en transit.

Quand dois-je utiliser le mode Fourni au lieu du mode Automatique ?

Le mode Automatique est recommandé pour la plupart des clients. Le mode Provided , où vous créez et gérez la file d'attente vous-même, est disponible pour les organisations dont les politiques interdisent la création de ressources tierces. La configuration du mode Provided est complexe et en libre-service ; Databricks n'offre pas de support pour le provisionnement de ces ressources.

Si votre organisation a besoin de restreindre la création de ressources, envisagez d'utiliser le mode Provided . Pour les instructions de configuration, consultez Configurer les événements de fichiers pour un emplacement externe.

Ressources supplémentaires