<budget_name>!SET_USER_TAGS¶
Adiciona tags de usuário a um orçamento personalizado. O consumo por um recurso compartilhado contará para o limite de gastos do orçamento somente se o recurso for utilizado por um usuário com os pares tag-valor especificados. Para obter mais informações, consulte Usando orçamentos para recursos de AI (recursos compartilhados).
Você pode configurar o orçamento para que o uso seja incluído se um usuário for marcado com qualquer uma das tags especificadas (UNION) ou configurá-lo para que o uso seja incluído somente se o usuário for marcado com todas as tags especificadas (INTERSECTION).
Chamar esse método substitui as tags de usuário existentes que tenham sido adicionadas ao orçamento.
Sintaxe¶
<budget_name>!SET_USER_TAGS( <tag-pairs>, <operation_mode> )
Argumentos¶
tag_pairsUm valor ARRAY que especifica referências e valores de tags.
Uma referência de tag é uma representação de cadeia de caracteres serializada resolvida como uma tag. Esta cadeia de caracteres é a saída da função SYSTEM$REFERENCE.
Cada elemento na matriz deve ser uma matriz com uma referência e um valor de tag. Por exemplo:
[ [ 'ENT_REF_TAG_10382726315710_8A8626AE765E2' , 'finance' ], ... ]
operation_modeEspecifica a lógica correspondente a ser usada para as tags especificadas. Especifique um dos seguintes valores:
'UNION': a utilização por um usuário será incluída no orçamento se o usuário for marcado com qualquer um dos pares tag-valor especificados. Isso corresponde à lógica OR.'INTERSECTION': a utilização por um usuário será incluída no orçamento se o usuário for marcado com todos os pares tag-valor especificados. Isso corresponde à lógica AND.
Retornos¶
Retorna um valor VARCHAR que indica se as tags foram ou não definidas com êxito no orçamento.
Se a tag não puder ser definida no orçamento, a função retornará uma mensagem de erro.
Requisitos de controle de acesso¶
Os seguintes privilégios e funções são necessários para chamar esse método para um orçamento personalizado:
função de instância ADMIN <label-budgets_instance_roles> para a instância do orçamento.
Privilégio USAGE no banco de dados e no esquema que contém a instância de orçamento.
O privilégio USAGE no banco de dados e no esquema que contêm cada tag.
Privilégio APPLYBUDGET em cada tag adicionada.
Para obter mais informações, consulte Funções e privilégios do Budgets.
Notas de uso¶
Você só pode definir tags em orçamentos personalizados.
Por padrão, é possível adicionar até 20 tags de usuário ao orçamento. Para aumentar este limite, entre em contato com o suporte Snowflake.
Para verificar os resultados do método, chame o método GET_BUDGET_SCOPE.
Chamar esse método não retorna o objeto. Por isso, você não pode usar o encadeamento de métodos para chamar outro método no valor de retorno deste método. Em vez disso, chame cada método em uma instrução SQL separada.
Exemplos¶
Use o orçamento my_budget para rastrear o consumo quando recursos compartilhados são utilizados por usuários marcados com qualquer a combinação tag-valor cost_center = 'sales' ou a combinação tag-valor team_tag = 'finance'.
CALL budget_db.budget_schema.my_budget!SET_USER_TAGS(
[
[(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.cost_center', 'SESSION', 'APPLYBUDGET')), 'sales'],
[(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.team_tag', 'SESSION', 'APPLYBUDGET')), 'finance']
],
'UNION');
Use o orçamento my_budget para rastrear o consumo quando recursos compartilhados são utilizados por usuários marcados com ambas cost_center = 'sales' e team_tag = 'finance'.
CALL budget_db.budget_schema.my_budget!SET_USER_TAGS(
[
[(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.cost_center', 'SESSION', 'APPLYBUDGET')), 'sales'],
[(SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.team_tag', 'SESSION', 'APPLYBUDGET')), 'finance']
],
'INTERSECTION');