- Categorias:
SYSTEM$GET_TAG_ON_CURRENT_COLUMN¶
Retorna o valor da cadeia de caracteres da tag atribuída à coluna com base na tag especificada ou NULL se uma tag não for atribuída à coluna especificada.
Quando o corpo de uma política de mascaramento ou política de projeção inclui esta função, o valor de uma tag atribuída a uma coluna pode determinar o valor de retorno da política atribuída a essa coluna.
Sintaxe¶
SYSTEM$GET_TAG_ON_CURRENT_COLUMN( '<tag_name>' )
Argumentos¶
'tag_name'
Identificador para a tag como uma cadeia de caracteres.
Por exemplo, se a tag for chamada
cost_center
, use'cost_center'
como argumento.
Notas de uso¶
Atualmente, essa função só pode ser usada em uma política de mascaramento ou em uma condição de política de projeção para avaliar dinamicamente o valor da cadeia de caracteres da tag definida em uma coluna.
O Snowflake retorna um erro ao utilizar a função em uma consulta SELECT, uma política de acesso a linhas, uma exibição ou uma função definida pelo usuário (UDF).
Note que esta função se aplica a todos os objetos em forma de tabela (por exemplo, exibições).
A tag deve existir ao chamar esta função do sistema; caso contrário, Snowflake retorna a seguinte mensagem de erro:
Tag '<tag_name>' does not exist or not authorized.
Exemplos¶
- Política de mascaramento
Para obter um exemplo contextual sobre como usar essa função com uma política de mascaramento, consulte Exemplo 2: proteção de dados da coluna com base no valor da cadeia de caracteres da tag da coluna.
- Política de projeção
Quando a seguinte política de projeção é atribuída a uma coluna, o valor da tag
tags.accounting_col
nessa coluna deve serpublic
para projetar a coluna.
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;