<budget_name>!ADD_RESOURCE

カスタム予算 にオブジェクトを追加します。オブジェクトは 参照 によって追加される必要があります。

こちらもご参照ください。

<budget_name>!REMOVE_RESOURCE<budget_name>!GET_LINKED_RESOURCES

構文

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

引数

'object_reference'

オブジェクトが解決先のシリアライズされた文字列表現。この文字列は SYSTEM$REFERENCE 関数の出力です。

reference_statement

予算に追加するオブジェクトの参照を作成する SYSTEM$REFERENCE ステートメント。

注釈

予算に Snowflake Native App を追加する場合は、 SYSTEM$REFERENCE を呼び出す際、 object_type 引数に 'DATABASE''APPLICATION' ではない)を指定します。

予算への Snowflake Native App の追加 をご参照ください。

戻り値

オブジェクトが正常に予算に追加されたかどうかを示す VARCHAR 値を返します。例:

Successfully added resource to resource group

オブジェクトを予算に追加できなかった場合、関数はエラーメッセージを返します。 カスタム予算からオブジェクトを追加または削除することはできません をご参照ください。

アクセス制御の要件

カスタム予算でこのメソッドを呼び出すには、以下の権限とロールが必要です。

  • 予算インスタンスの ADMIN インスタンスロール

  • 予算インスタンスを含んでいるデータベースとスキーマに対する USAGE 権限。

  • 追加されたオブジェクト(スキーマオブジェクト向け)を含んでいるデータベースとスキーマに対する USAGE 権限。

  • 追加されたオブジェクトに対する APPLYBUDGET 権限。

詳細については、 Budgetのロールと権限 をご参照ください。

使用上の注意

  • カスタム予算 にはオブジェクトしか追加できません。

  • 1つのカスタム予算に追加できるのは1つのオブジェクトのみです。オブジェクトが現在1つのカスタム予算に含まれており、そのオブジェクトを2つ目のカスタム予算に追加した場合、予算は警告を出さずにオブジェクトを1つ目のカスタム予算から削除します。

  • SNOWFLAKE データベースの参照は作成できず、予算に追加することもできません。

  • このメソッドを呼び出しても、オブジェクトは返されません。このため、メソッドの連結を使って、このメソッドの戻り値で別のメソッドを呼び出すことはできません。換わりに、各メソッドを別々の SQL ステートメントで呼び出します。

以下の例は、カスタム予算にオブジェクトを追加する方法を示しています。

予算へのテーブルの追加

  • 以下の例では、 t1 テーブルの参照を作成して返します。

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

    ステートメントは出力に参照を返します。

    ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
    

    次のステートメントは、この参照に文字列リテラルを使用して、 t1 テーブルを budget_db.budget_schema.my_budget 予算に追加します。

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  • 次の例では、 SQL ステートメントを使用して参照を指定し、 t2 テーブルを budget_db.budget_schema.my_budget 予算に追加します。

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

予算への Snowflake Native App の追加

以下の例では、 my_app アプリケーションを budget_db.budget_schema.my_budget 予算に追加します。

SYSTEM$REFERENCE を呼び出す場合は、引数 object_type'DATABASE''APPLICATION' ではない)を渡す必要があることに注意してください。

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

エラーメッセージ

一般的なエラーメッセージのリストとその原因および解決策については、 カスタム予算からオブジェクトを追加または削除することはできません をご参照ください。