<budget_name>!ADD_RESOURCE

Adicione um objeto a um orçamento personalizado. O objeto deve ser adicionado por referência.

Consulte também:

<budget_name>!REMOVE_RESOURCE, <budget_name>!GET_LINKED_RESOURCES

Sintaxe

<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
Copy

Argumentos

'object_reference'

A representação de cadeia de caracteres serializada que resolve um objeto. Esta cadeia de caracteres é a saída da função SYSTEM$REFERENCE.

reference_statement

Uma instrução SYSTEM$REFERENCE que cria uma referência para o objeto a ser adicionado ao orçamento.

Nota

Se você quiser adicionar um Snowflake Native App a um orçamento, ao chamar SYSTEM$REFERENCE, especifique 'DATABASE' (não 'APPLICATION') para o argumento object_type.

Consulte Como adicionar um Snowflake Native App a um orçamento.

Retornos

Retorna um valor VARCHAR que indica se o objeto foi ou não adicionado com êxito ao orçamento. Por exemplo:

Successfully added resource to resource group

Se o objeto não puder ser adicionado ao orçamento, a função retornará uma mensagem de erro. Consulte Você não pode adicionar ou remover objetos de um orçamento personalizado.

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.

  • Privilégio USAGE no banco de dados e esquema que contém o objeto que está sendo adicionado (para objetos de esquema).

  • privilégio APPLYBUDGET no objeto sendo adicionado.

Para obter mais informações, consulte Funções e privilégios do Budgets.

Notas de uso

  • Você só pode adicionar objetos a orçamentos personalizados.

  • Se você estiver adicionando objetos individuais diretamente, só poderá adicionar um objeto a um orçamento personalizado. Nesse caso, se um objeto já estiver incluído em um orçamento personalizado, e você adicionar esse objeto a um segundo orçamento personalizado, o Budgets removerá o objeto do primeiro orçamento personalizado sem nenhum aviso. Esse comportamento não se aplica ao uso de tags para adicionar objetos aos orçamentos. Um objeto com uma ou mais tags poderá ser incluído em vários orçamentos personalizados se você usar tags para adicionar o objeto aos orçamentos.

  • Você não pode criar uma referência para o banco de dados SNOWFLAKE e não pode adicioná-lo a um orçamento.

  • 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

Os exemplos a seguir demonstram como adicionar um objeto a um orçamento personalizado:

Como adicionar uma tabela a um orçamento

  • O exemplo a seguir cria e retorna uma referência para a tabela t1:

    SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
    
    Copy

    A instrução retorna a referência na saída.

    ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
    

    A instrução a seguir usa o literal de cadeia de caracteres para essa referência para adicionar a tabela t1 ao orçamento budget_db.budget_schema.my_budget:

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  • O exemplo a seguir adiciona a tabela t2 ao orçamento budget_db.budget_schema.my_budget, usando uma instrução SQL para especificar a referência:

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
    
    Copy

Como adicionar um Snowflake Native App a um orçamento

O exemplo a seguir adiciona o aplicativo my_app ao orçamento budget_db.budget_schema.my_budget.

Observe que, ao chamar SYSTEM$REFERENCE, é necessário passar 'DATABASE' (e não 'APPLICATION') para o argumento object_type.

CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
  SELECT SYSTEM$REFERENCE('DATABASE', 'my_app', 'SESSION', 'APPLYBUDGET'));
Copy

Mensagens de erro

Para obter uma lista de mensagens de erro comuns e suas causas e soluções, consulte Você não pode adicionar ou remover objetos de um orçamento personalizado.