Définir les définitions d’événements dans le fichier manifeste d’une application¶
Cette rubrique décrit comment définir des définitions d’événements dans le fichier manifeste d’une application. Les définitions d’événements définissent les messages de journal et les événements de trace partagés avec un fournisseur.
À propos des définitions d’événements¶
Les définitions d’événements spécifient comment une application partage les messages de journal et les événements de trace avec le fournisseur. Les définitions d’événements agissent comme des filtres sur les niveaux de messages de journal et d’événements de trace définis par le fournisseur. Un fournisseur spécifie les définitions d’événements pour une application lorsqu’une nouvelle version d’application ou un nouveau correctif est publié.
Les définitions d’événements sont des filtres qui agissent sur les messages de journal et les événements de trace. Ils déterminent quelles informations sont insérées dans la table des événements du fournisseur lorsque le partage d’événements est activé.
Les définitions d’événements sont facultatives. Si un fournisseur ne spécifie pas de définitions d’événements pour une application, les consommateurs peuvent uniquement activer ou désactiver le partage d’événements pour tous les événements lorsque le fournisseur active le traçage des événements.
Prudence
Les définitions d’événements diffèrent des niveaux de journalisation et de traçage définis par le fournisseur. Les niveaux de journalisation et de traçage déterminent les informations insérées dans la table des événements du consommateur. Si ni les niveaux de journalisation ni de traçage ne sont définis, l’application n’émet aucun événement.
Les niveaux de journalisation et de trace d’une application peuvent changer en fonction des définitions d’événements activées par le consommateur. Snowflake utilise les niveaux de journalisation et de trace les plus détaillés autorisés par les définitions d’événements que le consommateur a activées.
Définitions d’événements obligatoires et facultatifs¶
Les fournisseurs peuvent définir une définition d’événement comme étant obligatoire ou facultative :
Les définitions d’événements obligatoires sont activées automatiquement lors de l’installation de l’application.
Après avoir installé une application avec les définitions d’événements requises, les consommateurs ne peuvent pas désactiver le partage d’événements ou les définitions d’événements requises. Lorsqu’une application est mise à niveau, les fournisseurs peuvent utiliser les fonctions système ou le Python Permission SDK pour vérifier si le consommateur a activé toutes les définitions d’événements requises.
Les définitions d’événements facultatives peuvent être activées ou désactivées par le consommateur selon les besoins.
Définitions d’événements prises en charge¶
Le tableau suivant répertorie les définitions d’événements actuellement prises en charge.
Type |
Nom |
Description |
Filtre |
---|---|---|---|
All |
SNOWFLAKE$ALL |
Partage tous les messages de journal et les événements de trace que l’application émet. |
|
Errors and warnings |
SNOWFLAKE$ERRORS_AND_WARNINGS |
Partage les journaux liés aux erreurs, aux avertissements et aux événements fatals. |
|
Traces |
SNOWFLAKE$TRACES |
Partage des traces détaillées des activités et des parcours des utilisateurs dans l’application. |
|
Usage logs |
SNOWFLAKE$USAGE_LOGS |
Partage les journaux de haut niveau liés aux actions des utilisateurs et aux événements d’application. |
|
Debug logs |
SNOWFLAKE$DEBUG_LOGS |
Partage les journaux techniques utilisés pour dépanner l’application. |
|
Note
Snowsight affiche uniquement tous les événements de type All au consommateur si le fournisseur n’a pas configuré l’application pour utiliser les définitions d’événements.
Limitations des définitions d’événements dans les applications avec conteneurs¶
Snowflake Native Apps with Snowpark Container Services ne prend actuellement en charge que la définition de l’événement ALL
. La prise en charge de définitions d’événements supplémentaires sera ajoutée dans une future version.
Définir les niveaux de journalisation et de trace pour une application¶
Pour permettre à une application d’utiliser le traçage des événements, un fournisseur doit configurer les niveaux de journalisation et de trace dans le fichier manifeste.
Pour définir les niveaux de journalisation et de trace d’une application, ajoutez un bloc configuration
dans le fichier manifest.yml
comme indiqué dans l’exemple suivant :
configuration:
...
log_level: INFO
trace_level: ALWAYS
...
Cet exemple définit les niveaux de journalisation et de trace pour l’application comme suit :
La propriété
log_level
est définie surINFO
La propriété
trace_level
est définie surALWAYS
.
Voir LOG_LEVEL et TRACE_LEVEL pour obtenir des informations sur les valeurs valides pour ces paramètres.
Prudence
Une fois que vous avez publié une application, les niveaux de journalisation et de trace ne peuvent pas être modifiés. Si les niveaux de journalisation et de trace ne sont pas définis dans le fichier manifeste, l’application n’émet aucune information.
Lorsque les niveaux de journalisation et de trace sont définis pour une application, les consommateurs doivent configurer une table d’événements dans leur compte pour voir les messages de journal et les événements de trace émis par l’application.
Pour permettre au fournisseur de voir les messages de journal et de suivre les événements générés par une application, les consommateurs doivent activer le partage d’événements. Voir Activer le partage d’événements pour une application pour plus d’informations.
Ajouter une définition d’événement au fichier manifeste¶
Pour spécifier une définition d’événement, un fournisseur ajoute une entrée au bloc configuration.telemetry_event_definitions
du fichier manifeste comme indiqué dans l’exemple suivant :
configuration:
telemetry_event_definitions:
- type: ERRORS_AND_WARNINGS
sharing: MANDATORY
- type: DEBUG_LOGS
sharing: OPTIONAL
Cet exemple spécifie les définitions d’événements suivantes :
Une définition d’événement obligatoire avec le type
ERRORS_AND_WARNINGS
.Une définition d’événement facultative avec le type
DEBUG_LOGS
.
Voir Définitions d’événements prises en charge pour plus d’informations.
Une fois qu’un consommateur installe une application, les définitions d’événements apparaissent dans l’onglet Events and logs sur la page Security de l’application. Voir Activer la journalisation et le partage d’événements pour une application pour plus d’informations.