<nom_budget>!ADD_RESOURCE

Ajouter un objet à un budget personnalisé. L’objet doit être ajouté par référence.

Voir aussi :

<nom_budget>!REMOVE_RESOURCE, <nom_budget>!GET_LINKED_RESOURCES

Syntaxe

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

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.

Voir Ajouter une Snowflake Native App à un budget.

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

    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 au budget_db.budget_schema.my_budget budget :

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  • L’exemple suivant ajoute la t2 table au budget_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'));
    
    Copy

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

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é.