<budget_name>!REMOVE_RESOURCE

カスタム予算 からオブジェクトを削除します。オブジェクトは 参照 によって削除する必要があります。

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

<budget_name>!ADD_RESOURCE<budget_name>!GET_LINKED_RESOURCES

構文

<budget_name>!REMOVE_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 removed resource from resource group

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

アクセス制御の要件

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

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

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

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

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

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

使用上の注意

  • このメソッドは カスタム予算 インスタンスに対してのみ呼び出すことができます。

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

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

予算からのテーブルの削除

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

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

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

    ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
    

    次のステートメントは、このリファレンスに文字列リテラルを使用して、 budget_db.budget_schema.my_budget 予算から t1 テーブルを削除します。

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

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

予算から の Snowflake Native App の削除

以下の例では、 budget_db.budget_schema.my_budget 予算から my_app アプリケーションを削除します。

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

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

エラーメッセージ

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