Configurer et gérer une table d’événements dans le compte fournisseur¶
Cette rubrique décrit comment les fournisseurs peuvent configurer une table d’événements et gérer le partage d’événements pour une application.
Configurer une table d’événements dans l’organisation du fournisseur dans chaque région¶
Pour collecter les messages de journal et les événements de trace partagés par un consommateur, un fournisseur doit configurer une table d’événements en procédant comme suit :
Important
Si un fournisseur ne dispose pas d’un compte d’événements et d’une table d’événements actifs dans la région où l’application est installée avant que le consommateur n’installe une application, les événements de trace et les messages de journal sont ignorés.
Définir un compte comme compte d’événements¶
Pour stocker des journaux et des événements partagés, un fournisseur doit sélectionner un compte qui contiendra une table d’événements. Il peut s’agir de n’importe quel compte auquel un fournisseur peut accéder. Toutefois, si une organisation compte plusieurs fournisseurs publiant des paquets d’applications, envisagez d’utiliser un compte Snowflake dédié au stockage des événements partagés du consommateur.
Les restrictions suivantes s’appliquent aux comptes utilisés pour stocker des événements partagés :
Vous devez utiliser le rôle ORGADMIN pour définir un compte comme compte utilisé pour stocker des événements.
Le compte doit avoir une table d’événements active.
Le compte spécifié ne peut pas être :
Un compte bloqué ou suspendu.
Un compte de lecteurs.
Un compte d’essai.
Un compte géré par Snowflake.
Note
Un fournisseur ne peut collecter des journaux et des événements partagés que dans la région où un consommateur installe une application. Les fournisseurs doivent configurer un compte pour stocker les événements partagés dans chaque région où les consommateurs configurent le partage d’événements pour une application.
Pour faire d’un compte le compte d’événements d’une région, appelez la fonction système SYSTEM$SET_EVENT_SHARING_ACCOUNT_FOR_REGION comme montré dans l’exemple suivant :
SELECT SYSTEM$SET_EVENT_SHARING_ACCOUNT_FOR_REGION('<snowflake_region>', '<region_group>', '<account_name>')
Où :
snowflake_region
Nom de la région où se trouve le compte, par exemple
AWS_US_WEST_2, AWS_US_EAST_1
.region_group
Spécifie le groupe de régions, par exemple :
PUBLIC
. Reportez-vous à Groupes de régions pour plus de détails.account_name
Spécifie le nom du compte. Si un autre compte est déjà défini comme compte d’événements dans la région spécifiée, l’exécution de cette commande remplace le compte d’événements par le compte spécifié ici.
Créer une table d’événements dans le compte d’événements¶
Pour créer une table d’événements, exécutez la commande CREATE EVENT TABLE comme indiqué dans l’exemple suivant :
CREATE EVENT TABLE event_db.event_schema.my_event_table;
Cette commande spécifie la base de données et le schéma qui contiennent la table d’événements.
Définir la table d’événements comme table d’événements active¶
Un compte peut avoir plusieurs tables d’événements, mais une seule d’entre elles peut être définie comme table d’événements active dans un compte Snowflake à la fois. Sans table d’événements active, les messages de journal et les événements de trace partagés par le consommateur sont ignorés.
Après avoir créé la table d’événements, utilisez la commande ALTER ACCOUNT … SET EVENT_TABLE pour spécifier que la table d’événements est la table active pour le compte :
ALTER ACCOUNT SET EVENT_TABLE=event_db.event_schema.my_event_table;
Annuler la définition d’un compte comme compte d’événements¶
Pour annuler la désignation d’un compte comme compte d’événements pour une région, appelez la fonction système SYSTEM$UNSET_EVENT_SHARING_ACCOUNT_FOR_REGION :
SELECT SYSTEM$UNSET_EVENT_SHARING_ACCOUNT_FOR_REGION('<snowflake_region>', '<region_group>', '<account_name>')
Où :
snowflake_region
Nom de la région où se trouve le compte, par exemple
AWS_US_WEST_2
.region_group
Spécifie le groupe de régions, par exemple :
PUBLIC
.account_name
Spécifie le nom du compte.
Afficher les comptes d’événements dans une organisation¶
Pour afficher les comptes d’événements dans l’organisation d’un fournisseur, appelez la fonction système SYSTEM$SHOW_EVENT_SHARING_ACCOUNTS :
SELECT SYSTEM$SHOW_EVENT_SHARING_ACCOUNTS()
Note
Vous devez utiliser le rôle ORGADMIN pour appeler cette fonction.
Cette fonction système renvoie une chaîne au format JSON contenant une liste des comptes d’événements de l’organisation. Étant donné que les métadonnées prennent un certain temps à se propager dans toutes les régions, cette fonction peut nécessiter un court délai avant d’afficher le compte d’événements le plus récent une fois que l’utilisateur a défini ou supprimé le compte d’événements pour l’organisation.
Voir les niveaux d’événements de journalisation et de trace définis dans un paquet d’application¶
Utilisez la commande SHOW VERSIONS pour voir le niveau de journalisation des versions d’application définies dans un paquet d’application, comme le montre l’exemple suivant :
SHOW VERSIONS
IN APPLICATION PACKAGE HelloSnowflake;
Voir les journaux et les événements dans la table d’événements¶
Pour voir les journaux et les événements stockés dans la table des événements, utilisez la commande SELECT comme indiqué dans l’exemple suivant :
SELECT * FROM EVENT_DB.EVENT_SCHEMA.MY_EVENT_TABLE
Pour plus d’informations sur l’interrogation de la table des événements, consultez les éléments suivants :
Voir Colonnes de table d’événements pour plus d’informations sur les colonnes de la table des événements.