Schéma :

ACCOUNT_USAGE

Vue AGGREGATE_ACCESS_HISTORY

Cette vue Account Usage fournit des Historique des accès agrégés pour toutes les charges de travail dans Snowflake. Lorsqu’une charge de travail implique des requêtes transactionnelles très récurrentes, le modèle d’accès à ces requêtes est également fréquemment répété. Il est plus efficace de visualiser ces informations d’historique d’accès dans un agrégat.

La vue AGGREGATE_ACCESS_HISTORY contient des données similaires à celles de la vue Vue ACCESS_HISTORY, agrégées dans le temps pour des requêtes répétées à intervalles d’une minute.

Cette vue fournit également des informations sur l’historique des accès associées aux requêtes analytiques et transactionnelles. En revanche, il convient de noter que la vue Vue ACCESS_HISTORY contient des informations sur l’historique des accès associées uniquement aux requêtes qui apparaissent dans la vue Vue QUERY_HISTORY, et ne comprend pas certaines requêtes transactionnelles de courte durée.

Colonnes

Nom de la colonne

Type de données

Description

INTERVAL_START_TIME

TIMESTAMP_LTZ

Heure de début de la fenêtre de mesure.

INTERVAL_END_TIME

TIMESTAMP_LTZ

Heure de fin de la fenêtre de mesure.

QUERY_PARAMETERIZED_HASH

TEXT

ID unique pour identifier les requêtes paramétrées identiques. Voir Colonne QUERY_PARAMETERIZED_HASH.

USER_NAME

TEXT

Utilisateur qui a émis la requête.

CALLS

NUMBER

Nombre de fois où le comportement d’accès s’est produit pendant la fenêtre de temps spécifiée par INTERVAL_START_TIME et INTERVAL_END_TIME et déclenchée par une requête paramétrée et un utilisateur spécifiques.

DIRECT_OBJECTS_ACCESSED

ARRAY

Tableau JSON d’objets de données, tels que des fonctions définies par l’utilisateur (c’est-à-dire des UDFs et des UDTFs), des procédures stockées, des tables, des vues et des colonnes nommés directement dans la requête de manière explicite ou par des raccourcis comme l’utilisation d’un astérisque (c’est-à-dire *).

Des colonnes virtuelles peuvent être renvoyées dans ce champ.

Pour plus d’informations sur les UDFs, voir les remarques sur les UDF.

BASE_OBJECTS_ACCESSED

ARRAY

Tableau JSON de tous les objets de données de base pour exécuter une requête, y compris les colonnes, les fonctions externes, les UDFs et les procédures stockées.

Dans l’exemple de la vue Vue ACCESS_HISTORY, les champs du premier tableau spécifient un eUDF. Ces mêmes champs du premier tableau spécifient également une procédure stockée, le cas échéant.

Remarques :

  • Ce champ spécifie les noms de vue ou les colonnes de vue, y compris les colonnes virtuelles, si une vue partagée est accessible dans un compte de consommateur de partage de données.

  • Pour plus d’informations sur les UDFs, voir les remarques sur les UDF.

OBJECTS_MODIFIED

ARRAY

Un tableau JSON qui spécifie les objets qui ont été associés à une opération d’écriture dans la requête.

L’UDF et le tableau de procédures stockées sont identiques à ceux qui apparaissent dans les tableaux pour baseSources et directSources dans les exemples dans Vue ACCESS_HISTORY, en fonction de la manière dont l’accès a eu lieu. Par souci de concision, l’exemple omet l’UDF et le tableau de procédures stockées.

Pour plus d’informations sur les UDFs, voir les remarques sur les UDF.

OBJECT_MODIFIED_BY_DDL

OBJECT

Spécifie l’opération DDL sur une base de données, un schéma, une table, une vue et une colonne. Ces opérations comprennent également des instructions qui spécifient une politique d’accès aux lignes sur une table ou une vue, une politique de masquage sur une colonne et des mises à jour de balises (par exemple, définition d’une balise, modification d’une valeur de balise) sur l’objet ou la colonne.

POLICIES_REFERENCED

ARRAY

Spécifie des informations sur la politique de masquage appliquée à la colonne et la politique d’accès aux lignes appliquée à la table, y compris les politiques appliquées aux objets ou aux colonnes intermédiaires.

Les champs du tableau JSON pour les colonnes DIRECT_OBJECTS_ACCESSED, BASE_OBJECTS_ACCESSED, OBJECTS_MODIFIED et POLICIES_REFERENCED sont décrits ci-dessous.

Champ

Type de données

Description

columnId

NUMBER

ID de colonne qui est unique dans le compte. Cette valeur est identique à la valeur de la colonne column_id de la vue COLUMNS.

columnName

TEXT

Nom de la colonne à laquelle on accède. Pour les politiques, spécifie la colonne sur laquelle la politique de masquage est définie.

objectId

NUMBER

Un identificateur pour l’objet, qui est unique dans un compte et un domaine donnés. Ce numéro correspondra :

  • La valeur de la colonne TABLE_ID dans les vues TABLE, VIEWS, et MATERIALIZED_VIEW_REFRESH_HISTORY.

  • S’il y a eu un accès à la zone de préparation, ce numéro correspondra :

    • À l’identificateur NAME pour un utilisateur (zone de préparation de l’utilisateur).

    • Au numéro TABLE_ID pour une table (zone de préparation de table).

    • Au numéro STAGE_ID pour une zone de préparation (zone de préparation nommée).

objectName

TEXT

Nom entièrement qualifié de l’objet auquel on a accédé.

Si une politique de masquage est définie sur une colonne ou si une politique d’accès aux lignes est définie sur une table ou une vue, la valeur fait référence au nom complet de la table ou de la vue sur laquelle la politique d’accès aux lignes est définie ou la vue qui a une politique de masquage définie sur l’une de ses colonnes.

S’il y a eu un accès à la zone de préparation, cette valeur sera :

  • username (zone de préparation de l’utilisateur).

  • table_name (zone de préparation de table).

  • stage_name (zone de préparation nommée).

objectDomain

TEXT

Un des éléments suivants : EXTERNAL TABLE, FUNCTION, MATERIALIZED VIEW, PROCEDURE, STAGE, STREAM, ou VIEW.

Notez que FUNCTION spécifie des UDFs, des UDTFs et des fonctions externes.

Pour les politiques, spécifie le domaine de l’objet sur lequel la politique d’accès aux lignes est définie.

emplacement

TEXT

L’URL de l’emplacement externe lorsque les données sont accessibles à partir d’un emplacement externe (par exemple, s3://mybucket/a.csv).

Si la requête n’accède pas à une zone de préparation, ce champ est omis.

stageKind

TEXT

Lorsque vous effectuez une opération en écriture vers une zone de préparation, l’un des éléments suivants : Table, User, Internal Named, ou External Named.

Si la requête n’accède pas à une zone de préparation, ce champ est omis.

baseSources

TEXT

Les colonnes qui servent de colonnes sources pour les colonnes spécifiées par directSources. Ces colonnes facilitent la lignée des colonnes.

directSources

TEXT

Les colonnes spécifiquement mentionnées dans la partie write des données de l’instruction SQL qui sert de colonnes sources dans la table cible dans laquelle les données sont écrites. Ces colonnes facilitent la lignée des colonnes.

policyName

TEXT

Nom complet de la politique.

policyId

NUMBER

Un identificateur pour la politique, qui est unique dans un compte et un domaine donnés. Cette valeur correspond à l’identificateur d’une politique de masquage dans la Vue MASKING_POLICIES ou à l’identificateur d’une politique d’accès aux lignes dans la Vue ROW_ACCESS_POLICIES

policyKind

TEXT

Soit MASKING_POLICY soit ROW_ACCESS_POLICY

argumentSignature

TEXT

Nom et type de données de chaque argument de l’UDF ou de la procédure stockée.

dataType

Type de données de la valeur renvoyée pour une UDF ou une procédure stockée.

Cette valeur permet de différencier deux UDFs ou plus qui ont le même nom, mais des types de retour différents.

Les champs de la colonne OBJECT_MODIFIED_BY_DDL sont décrits ci-dessous.

Champ

Type de données

Description

objectDomain

TEXT

Domaine de l’objet défini ou modifié par l’opération DDL, qui comprend tous les objets pouvant être balisés et MASKING POLICY, ROW ACCESS POLICY, et TAG.

objectId

NUMBER

Identificateur de l’objet, qui est unique au sein d’un compte et d’un domaine donnés, défini ou modifié par l’opération DDL.

objectName

TEXT

Nom complet de l’objet défini ou modifié par l’opération DDL.

operationType

TEXT

Mot-clé SQL qui spécifie l’opération sur la table, la vue ou la colonne : ALTER, CREATE, DROP, REPLACE, ou UNDROP.

properties

ARRAY

Tableau JSON qui spécifie les propriétés de l’objet ou de la colonne lorsque vous créez, modifiez ou supprimez l’objet ou la colonne ou que vous annulez sa suppression. Il existe deux types de propriétés : atomiques et composées.

Pour le champ properties :

  • Atomique : une valeur par propriété (par exemple, un comment a une seule valeur de chaîne, la propriété enabled est un booléen et a une seule valeur).

  • Composé : la propriété peut avoir plusieurs valeurs (par exemple allowed_values pour une balise, une politique de masquage).

Les propriétés composées sont enregistrées dans un tableau JSON. Par exemple, si une table contient une seule colonne nommée EMAIL, la colonne est enregistrée comme suit :

columns: {
  "email": {
    objectId: {
      "value": 1
    },
    "subOperationType": "ADD"
  }
}
Copy

La valeur subOperationType peut être l’une des valeurs suivantes :

  • ADD spécifie l’ajout d’une propriété composée (par exemple, ajouter une colonne, définir les valeurs autorisées).

  • DROP spécifie la suppression d’une propriété composée.

  • ALTER spécifie la modification d’une propriété composée.

Le objectId spécifie l’identificateur de la colonne ou de l’objet, à l’exception des valeurs de balises autorisées qui n’ont pas d’identificateur.

Notes sur l’utilisation

  • La latence pour la vue peut atteindre 180 minutes (3 heures).

  • Cette vue Account Usage peut être utilisée pour interroger l’historique des accès agrégés aux objets Snowflake (par exemple, table, vue, colonne) au cours des 365 derniers jours (1 année).