<budget_name>!ADD_RESOURCE

Hinzufügen eines Objekts zu einem kundenspezifischen Budget. Das Objekt muss durch Referenz hinzugefügt werden.

Siehe auch:

<budget_name>!REMOVE_RESOURCE, <budget_name>!GET_LINKED_RESOURCES

Syntax

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

Argumente

'object_reference'

Die Darstellung einer serialisierten Zeichenfolge, die in ein Objekt aufgelöst wird. Diese Zeichenfolge ist die Ausgabe der Funktion SYSTEM$REFERENCE.

reference_statement

Eine SYSTEM$REFERENCE-Anweisung, die einen Verweis auf das dem Budget hinzuzufügende Objekt erzeugt.

Rückgabewerte

Successfully added resource to resource group

Anforderungen an die Zugriffssteuerung

Die folgenden Berechtigungen und Rollen sind erforderlich, um diese Methode für ein kundenspezifisches Budget aufzurufen:

  • Eine Rolle mit der ADMIN-Instanzrolle für die Budgetinstanz.

  • Eine Rolle mit der USAGE-Berechtigung für die Datenbank und das Schema, das die Budgetinstanz enthält.

  • Rolle mit APPLYBUDGET-Berechtigung für das Objekt.

Nutzungshinweise

  • Sie können nur Objekte zu kundenspezifischen Budgets hinzufügen.

  • Sie können keinen Verweis für die Datenbank SNOWFLAKE erstellen, und Sie können sie nicht zu einem Budget hinzufügen.

Beispiele

  1. Erstellen Sie einen Verweis für ein Objekt und fügen Sie das Objekt zu einem Budget hinzu.

    Erstellen Sie eine Referenz für Tabelle t1:

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

    Rückgabewerte:

    ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
    

    Tabelle t1 zum Budget my_budget im Schema budget_db.budget_schema hinzufügen:

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  2. Hinzufügen eines Objekts zu einem Budget mit Hilfe einer SYSTEM$REFERENCE-Anweisung.

    Tabelle t1 zum Budget my_budget im Schema budget_db.budget_schema hinzufügen:

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

Fehlermeldungen

Die folgenden Szenarios können Ihnen helfen, Probleme zu beheben, die beim Hinzufügen von Ressourcen zu einem kundenspezifischen Budget auftreten können.

Fehler

Unknown user-defined function <budget_db>.<budget_schema>.ADD_RESOURCE

Ursache

Die Rolle, mit der Sie diese Methode aufgerufen haben, hat nicht die ADMIN-Instanzrolle.

Lösung

Verwenden Sie eine Rolle, die über die erforderlichen Rollen und Berechtigungen verfügt, um Objekte zum Budget hinzuzufügen. Siehe Anforderungen an die Zugriffssteuerung.

Fehler

002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.

Ursache

Die Rolle, mit der Sie diese Methode aufgerufen haben, hat nicht die Berechtigung APPLYBUDGET für das Objekt, das Sie dem Budget hinzufügen möchten.

Lösung

Verwenden Sie eine Rolle, die über die erforderlichen Rollen und Berechtigungen verfügt, um Objekte zum Budget hinzuzufügen. Siehe Anforderungen an die Zugriffssteuerung.

Fehler

Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.

Ursache

Sie haben versucht, eine Referenz für ein Objekt zu erstellen, ohne den Parameter PRIVILEGE in der Anweisung SYSTEM$REFERENCE anzugeben.

Lösung

Erstellen Sie die Referenz mit der Berechtigung APPLYBUDGET für das Objekt.

Fehler

505001 (55000): Uncaught exception of type 'EXPRESSION_ERROR' on line 10
at position 21 : Specified object does not exist or not authorized for
the reference.

Ursache

Sie haben versucht, die SNOWFLAKE-Datenbank mit einer Inline-SYSTEM$REFERENCE-Anweisung zu einem kundenspezifischen Budget hinzuzufügen.

Lösung

Die Datenbank SNOWFLAKE kann nicht zu einem Budget hinzugefügt werden. Siehe Nutzungshinweise oben.