- Catégories :
SYSTEM$GET_TAG_ON_CURRENT_COLUMN¶
Renvoie la valeur de la chaîne de balise attribuée à la colonne en fonction de la balise spécifiée ou NULL si aucune balise n’est attribuée à la colonne spécifiée.
Lorsque le corps d’une politique de masquage ou d’une politique de projection inclut cette fonction, la valeur d’une balise assignée à une colonne peut déterminer la valeur de renvoi de la politique assignée à cette colonne.
Syntaxe¶
SYSTEM$GET_TAG_ON_CURRENT_COLUMN( '<tag_name>' )
Arguments¶
'tag_name'
Identificateur pour la balise sous forme de chaîne.
Par exemple, si la balise est nommée
cost_center
, utilisez'cost_center'
comme argument.
Notes sur l’utilisation¶
Actuellement, cette fonction ne peut être utilisée que dans une condition de politique de masquage ou de politique de projection pour évaluer dynamiquement la valeur de la chaîne de balises définie sur une colonne.
Snowflake renvoie une erreur lors de l’utilisation de la fonction dans une requête SELECT, une politique d’accès aux lignes, une vue ou une fonction définie par l’utilisateur (UDF).
Notez que cette fonction s’applique à tous les objets de type table (par exemple, les vues).
La balise doit exister lors de l’appel de cette fonction système, sinon Snowflake renvoie le message d’erreur suivant :
Tag '<tag_name>' does not exist or not authorized.
Exemples¶
- Politique de masquage
Pour un exemple contextuel de l’utilisation de cette fonction avec une politique de masquage, voir Exemple 2 : Protéger les données d’une colonne en fonction de la valeur de la chaîne de balises de la colonne.
- Politique de projection
Lorsque la politique de projection suivante est assignée à une colonne, la valeur de la balise
tags.accounting_col
sur cette colonne doit êtrepublic
afin de projeter la colonne.
CREATE PROJECTION POLICY mypolicy
AS () RETURNS PROJECTION_CONSTRAINT ->
CASE
WHEN SYSTEM$GET_TAG_ON_CURRENT_COLUMN('tags.accounting_col') = 'public'
THEN PROJECTION_CONSTRAINT(ALLOW => true)
ELSE PROJECTION_CONSTRAINT(ALLOW => false)
END;