<budget_name>!SET_RESOURCE_TAGS¶
Adiciona tags a um orçamento personalizado para que os recursos marcados com os pares tag-valor especificados sejam incluídos no orçamento.
Você pode configurar o orçamento para que um recurso seja incluído se ele for marcado com qualquer uma das tags especificadas (UNION) ou configurá-lo para que um recurso seja incluído somente se ele for marcado com todas as tags especificadas (INTERSECTION).
Chamar o método substitui as tags existentes que foram adicionadas ao orçamento.
Sintaxe¶
<budget_name>!SET_RESOURCE_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 recurso 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.
O Snowflake não começa a mostrar o uso dos recursos adicionados até que o orçamento seja atualizado, o que pode levar até seis horas. Se você quiser visualizar o uso mais cedo, execute o método REFRESH_USAGE.
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 todos os objetos marcados ou com a combinação de tag-valor cost_center = 'sales' ou com a combinação de tag-valor team_tag = 'finance'.
CALL budget_db.budget_schema.my_budget!SET_RESOURCE_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 todos os objetos marcados com ambos cost_center = 'sales' e team_tag = 'finance'.
CALL budget_db.budget_schema.my_budget!SET_RESOURCE_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');