<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_pairs

Um 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_mode

Especifica 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');