<nom_budget>!ADD_RESOURCE¶
Ajouter un objet à un budget personnalisé. L’objet doit être ajouté par référence.
Syntaxe¶
<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
Arguments¶
'object_reference'
La représentation sérialisée de la chaîne qui se résout en un objet. Cette chaîne est la sortie de la fonction SYSTEM$REFERENCE.
reference_statement
Une SYSTEM$REFERENCE instruction qui crée une référence pour l’objet à ajouter au budget.
Note
Si vous souhaitez ajouter une Snowflake Native App à un budget, lorsque vous appelez SYSTEM$REFERENCE, spécifiez 'DATABASE'
(et non 'APPLICATION'
) pour l’argument object_type
.
Renvoie¶
Renvoie une valeur VARCHAR qui indique si l’objet a été ajouté avec succès au budget. Par exemple :
Successfully added resource to resource group
Si l’objet n’a pas pu être ajouté au budget, la fonction renvoie un message d’erreur. Voir Vous ne pouvez pas ajouter ou supprimer des objets d’un budget personnalisé.
Exigences en matière de contrôle d’accès¶
Les privilèges et rôles suivants sont nécessaires pour appeler cette méthode pour un budget personnalisé :
Rôle d’instance ADMIN <label-budgets_instance_roles> pour l’instance de budget.
Privilège USAGE sur la base de données et le schéma contenant l’instance de budget.
Privilège USAGE sur la base de données et le schéma contenant l’objet en cours d’ajout (pour les objets de schéma).
Privilège APPLYBUDGET sur l’objet en cours d’ajout.
Pour plus d’informations, voir Rôles et privilèges Budgets.
Notes sur l’utilisation¶
Vous ne pouvez ajouter des objets qu’aux budgets personnalisés.
Vous ne pouvez ajouter un objet qu’à un seul budget personnalisé. Si un objet est actuellement inclus dans un budget personnalisé et que vous ajoutez cet objet à un deuxième budget personnalisé, Budgets supprime l’objet du premier budget personnalisé sans émettre d’avertissement.
Vous ne pouvez pas créer de référence pour la base de données SNOWFLAKE ; ni l’ajouter à un budget.
Le fait d’appeler cette méthode ne renvoie pas l’objet. Pour cette raison, vous ne pouvez pas utiliser le chaînage de méthodes pour appeler une autre méthode sur la valeur de retour de cette méthode. Au lieu de cela, appelez chaque méthode dans une instruction SQL distincte.
Exemples¶
Les exemples suivants montrent comment ajouter un objet à un budget personnalisé :
Ajouter une table à un budget¶
L’exemple suivant crée et renvoie une référence pour la table
t1
:SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
L’instruction renvoie la référence dans la sortie.
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
L’instruction suivante utilise le littéral de chaîne pour cette référence afin d’ajouter la
t1
table aubudget_db.budget_schema.my_budget
budget :CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
L’exemple suivant ajoute la
t2
table aubudget_db.budget_schema.my_budget
budget, en utilisant une instruction SQL pour spécifier la référence :CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
Ajouter une Snowflake Native App à un budget¶
L’exemple suivant ajoute l”my_app
application au budget_db.budget_schema.my_budget
budget.
Notez que lorsque vous appelez SYSTEM$REFERENCE, vous devez transférer 'DATABASE'
(et non 'APPLICATION'
) pour object_type
l’argument.
CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
SELECT SYSTEM$REFERENCE('DATABASE', 'my_app', 'SESSION', 'APPLYBUDGET'));
Messages d’erreur¶
Pour une liste des messages d’erreur courants ainsi que leurs causes et solutions, voir Vous ne pouvez pas ajouter ou supprimer des objets d’un budget personnalisé.