<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> } )
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.
Você só pode adicionar um objeto a um orçamento personalizado. Se um objeto estiver atualmente 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 emitir um aviso.
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');
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çamentobudget_db.budget_schema.my_budget
:CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
O exemplo a seguir adiciona a tabela
t2
ao orçamentobudget_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'));
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'));
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.