<budget_name>!ADD_RESOURCE¶
カスタム予算 にオブジェクトを追加します。オブジェクトは 参照 によって追加される必要があります。
構文¶
<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
引数¶
'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のロールと権限 をご参照ください。
使用上の注意¶
カスタム予算 にはオブジェクトしか追加できません。
If you are directly adding individual objects, you can only add an object to one custom budget. In this case, if an object is currently included in one custom budget and you add that object to a second custom budget, Budgets removes the object from the first custom budget without issuing a warning.
この動作は、タグを使用してオブジェクトを予算に追加する場合には適用されません。タグを使用してオブジェクトを予算に追加する場合、1つ以上のタグを持つオブジェクトを複数のカスタム予算に含めることができます。
SNOWFLAKE データベースの参照は作成できず、予算に追加することもできません。
このメソッドを呼び出しても、オブジェクトは返されません。このため、メソッドの連結を使って、このメソッドの戻り値で別のメソッドを呼び出すことはできません。換わりに、各メソッドを別々の SQL ステートメントで呼び出します。
例¶
以下の例は、カスタム予算にオブジェクトを追加する方法を示しています。
予算へのテーブルの追加¶
以下の例では、
t1テーブルの参照を作成して返します。SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
ステートメントは出力に参照を返します。
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');
次の例では、 SQL ステートメントを使用して参照を指定し、
t2テーブルをbudget_db.budget_schema.my_budget予算に追加します。CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
予算への 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'));
エラーメッセージ¶
一般的なエラーメッセージのリストとその原因および解決策については、 カスタム予算からオブジェクトを追加または削除することはできません をご参照ください。