SHOW TASKS

アクセス権限があるタスクをリストします。このコマンドを使用して、現在の/指定されたデータベースまたはスキーマのタスクを一覧表示するか、アカウント全体にわたって一覧表示できます。

出力は、データベース、スキーマ、およびタスク名によって辞書順に並べられたタスクメタデータとプロパティを返します(出力列の説明については、このトピックの出力を参照)。これは、提供されたフィルターを使用して結果をフィルターする場合に注意することが重要です。

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

CREATE TASKALTER TASKDROP TASKDESCRIBE TASK

構文

SHOW [ TERSE ] TASKS [ LIKE '<pattern>' ]
                     [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> } ]
                     [ STARTS WITH '<name_string>' ]
                     [ ROOT ONLY ]
                     [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

パラメーター

TERSE

出力列のサブセットのみを返します。

  • created_on

  • name

  • 種類(すべてのタスク記録の NULL を表示)

  • database_name

  • schema_name

  • schedule

LIKE 'pattern'

オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(% および _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。

たとえば、次のパターンは 同じ 結果を返します。

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. デフォルト: 値なし(フィルタリングは出力に非適用)。

IN ACCOUNT | DATABASE [ db_name ] | SCHEMA [ schema_name ] | APPLICATION application_name | APPLICATION PACKAGE application_package_name

必要に応じて、コマンドのスコープを指定します。これはコマンドが、現在/指定されたデータベースまたはスキーマの記録のみをリストするか、アカウント全体に表示するかを決定します。

APPLICATIONAPPLICATION PACKAGE キーワードは必須ではないが、 Snowflake Native App という名前のスコープを指定します。

キーワード ACCOUNT を指定すると、コマンドは、現在のアカウントのデータベースすべてにあるすべてのスキーマの記録を取得します。

キーワード DATABASE を指定すると、次のようになります。

  • db_name を指定すると、コマンドは、指定されたデータベースのスキーマすべての記録を取得します。

  • :samp:`{db_name}`を指定しない場合、以下のようになります:

    • 現在のデータベースがある場合、コマンドは、現在のデータベースにあるスキーマすべての記録を取得します。

    • 現在のデータベースがない場合、コマンドは、アカウントにあるすべてのデータベースとスキーマの記録を取得します。

キーワード SCHEMA を指定すると、次のようになります。

  • 修飾されたスキーマ名(例: my_database.my_schema)を指定すると、コマンドは、指定されたデータベースとスキーマの記録を取得します。

  • 修飾されていない schema_name を指定すると、次のようになります。

    • 現在のデータベースがある場合、コマンドは、現在のデータベースにある指定されたスキーマの記録を取得します。

    • 現在のデータベースがない場合、コマンドは、エラー SQL compilation error: Object does not exist, or operation cannot be performed を表示します。

  • :samp:`{schema_name}`を指定しない場合、以下のようになります:

    • 現在のデータベースがある場合は、次のようになります。

      • 現在のスキーマがある場合、コマンドは、現在のデータベースにある現在のスキーマの記録を取得します。

      • 現在のスキーマがない場合、コマンドは、現在のデータベースにあるスキーマすべての記録を取得します。

    • 現在のデータベースがない場合、コマンドは、アカウントにあるすべてのデータベースとすべてのスキーマの記録を取得します。

デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。

  • データベース: DATABASE がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。

  • データベースなし: ACCOUNT はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。

STARTS WITH 'name_string'

オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

たとえば、次の文字列は 異なる 結果を返します。

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. デフォルト: 値なし(フィルターは出力に適用されない)

ROOT ONLY

コマンド出力をフィルターして、ルートタスク(先行タスクを持たないタスク)のみを返します。

LIMIT rows [ FROM 'name_string' ]

オプションで、返される行の最大数を制限すると同時に、結果の「ページネーション」を有効にします。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。

オプションの FROM 'name_string' サブ句は、結果の「カーソル」として効果的に機能します。これにより、指定された文字列と一致するオブジェクト名を持つ最初の行に続く指定された行数を取得できます。

  • 文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します

  • 文字列に完全なオブジェクト名を含める必要はありません。部分的な名前がサポートされています。

デフォルト:値なし(出力に制限は適用されない)

注釈

FROM 'name_string' 句と STARTS WITH 'name_string' 句の両方をサポートする SHOW コマンドの場合、同じステートメントでこれらの両方の句を組み合わせることができます。ただし、両方の条件を満たしている必要があります。そうでない場合、互いにキャンセルされ、結果が返されません。

さらに、オブジェクトは名前の辞書式順序で返されるため、 FROM 'name_string' は、 STARTS WITH 'name_string' によって返される行よりも辞書式の値が大きい行のみを返します。

例:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' は結果を返しません。

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' は結果を返しません。

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' は結果を返します(入力文字列に一致する行がある場合)。

出力

コマンド出力では、次の列にタスクプロパティとメタデータが提供されます。

列名

説明

created_on

タスクが作成された日時。

name

タスクの名前。

id

各タスクの一意の識別子。タスクを( CREATE OR REPLACE TASK を使用して)再作成すると、基本的に、新しい ID を持つ新しいタスクが作成されることに注意してください。

database_name

タスクが格納されているデータベース。

schema_name

タスクが格納されているスキーマ。

owner

タスクを所有するロール(つまり、タスクに対する OWNERSHIP 権限を持つ)

comment

タスクのコメント。

warehouse

タスクを実行するために必要なリソースを提供するウェアハウス。

schedule

タスクを実行するスケジュール。スケジュールが指定されていないか、タスクがトリガータスクの場合は NULL を表示します。

scheduling_mode

サーバーレスタスクが FIXED か FLEXIBLE かを表示します。

  • FIXED の場合、タスク実行はタスクのユーザー指定スケジュールに基づいています。

  • FLEXIBLE の場合、タスク実行は、タスクのユーザー指定スケジュールとターゲット完了間隔に基づいています。

target_completion_interval

サーバーレスタスクのターゲット完了間隔。実行用のコンピューティングリソースサイズを決定するために使用されます。

predecessors

AFTER パラメーターで識別されるタスク、つまり、先行タスク JSON の配列です。正常に実行されて完了すると、これらのタスクが現在のタスクをトリガーします。配列内の個々のタスク名は完全修飾されています(つまり、コンテナーデータベースとスキーマ名が含まれます)。. :newline:`.`タスクに先行タスクがない場合は、空の配列が表示されます。

state

タスクの現在の状態に基づいて「開始」または「中断」。

definition

タスクの実行時に実行されるSQL ステートメント。

condition

タスクの WHEN 句で指定された条件。

allow_overlapping_execution

タスクグラフ 内のルートタスクの場合は、タスクグラフの重複実行が明示的に許可されていると TRUE を表示します。タスクグラフの子タスクの場合は、 NULL を表示します。

error_integration

Amazon Simple Notification Service(SNS)、Google Pub/Sub、またはMicrosoft Azure Event Gridにアクセスしてタスクのエラー通知を中継するために使用される、通知統合の名前です。

success_integration

Amazon Simple Notification Service(SNS)、Google Pub/Sub、またはMicrosoft Azure Event Gridにアクセスしてタスクの成功の通知を中継するために使用される、通知統合の名前です。

last_committed_on

タスクの バージョン が最後に設定されたときのタイムスタンプ。バージョンが設定されていない場合---つまり、タスクが作成された後に再開されていないか、手動で実行されなかった場合---値は NULL になります。

last_suspended_on

タスクが最後に中断されたときのタイムスタンプ。ルートタスクと子タスクの両方のタイムスタンプを表示します。タスクがまだ中断されていない場合、値は NULL です。

owner_role_type

オブジェクトを所有するロールのタイプ。例えば ROLE があります。. Snowflake Native App がオブジェクトを所有する場合、値は APPLICATION になります。. 削除されたオブジェクトには所有者ロールがないため、オブジェクトを削除した場合、Snowflakeは NULL を返します。

config

タスクグラフのルートタスクについて、構成がある場合はそれを表示します。それ以外の場合は NULL です。タスクグラフの子タスクの場合は、 NULL を表示します。

last_suspended_reason

タスクが中断された理由を表示します。考えられる理由は次のとおりです。

  • USER_SUSPENDED: ユーザーが alter task <name> suspend コマンドを実行してタスクを中断しました。

  • SCHEMA_OR_DATABASE_DELETED: タスクのスキーマまたはデータベースが削除されました。

  • GRANT_OWNERSHIP: ユーザーが grant ownership コマンドを実行してタスクの所有権を別のロールに移譲しました。

  • SUSPENDED_DUE_TO_ERRORS: タスクが一定回数連続して失敗し、中断されました。このタスクを中断するために必要な失敗の回数は、 SUSPEND_TASK_AFTER_NUM_FAILURES パラメーターで設定できます。

  • CHILD_BECAME_ROOT: このタスクは以前、タスクグラフの子タスクでしたが、子タスクのすべての先行タスクが削除され、子タスクがルートタスクになりました。

  • FINALIZER_BECAME_ROOT: このタスクは以前、タスクグラフのファイナライザータスクでしたが、ファイナライズが削除され、タスクがルートタスクになりました。

  • MATCHING_OWNER_NOT_FOUND: タスクの複製中に 、タスクを所有するロールがセカンダリデータベースに見つかりませんでした。

タスクが一度も中断されたことがない場合や、列が 2023_08バンドル(一般で有効) で導入される前にタスクが最終的に中断された場合は、 NULL が表示されます。

task_relations

JSON object that describes the task relationships, including predecessor tasks and finalizer tasks. The object can contain the following fields:

  • Predecessors: Array of fully qualified names of tasks identified in the AFTER parameter for the task. When all predecessor tasks run successfully to completion, they trigger the current task. If the task has no predecessors, this is an empty array.

  • FinalizerTask: Fully qualified name of the finalizer task associated with this root task. Displayed only for root tasks that have a finalizer task.

  • FinalizedRootTask: Fully qualified name of the root task that this task finalizes. Displayed only for finalizer tasks.

Examples:

  • Root task with a finalizer task: {"Predecessors":[],"FinalizerTask":"MY_DB.MY_SCHEMA.FINALIZE_LONG_RUNNING_TASK"}

  • Finalizer task: {"FinalizedRootTask":"MY_DB.MY_SCHEMA.LONG_RUNNING_TASK","Predecessors":[]}

  • Task with predecessors: {"Predecessors":["MY_DB.MY_SCHEMA.DEFTASK"]}

execute_as_user

NULL システムユーザーとして実行された場合は(デフォルト)として表示されます。偽装権限を使用してタスクを実行するユーザーのユーザー名を表示します(EXECUTEASUSER)。詳細については、 ユーザー権限でタスクを実行する をご参照ください。

タスクに指定できるプロパティの詳細については、 CREATE TASK をご参照ください。

使用上の注意

  • タスクの所有者(つまり、タスクの OWNERSHIP 権限を持つロール) または タスクの MONITOR または OPERATE 権限を持つロールの行のみを返します。

  • このコマンドの実行には、稼働中のウェアハウスは必要ありません。

  • このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。

  • MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。

  • このコマンドの出力を後処理するには、 パイプ演算子->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。

    For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.

    When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column type, specify SELECT "type".

    You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.

  • LIMIT rows の値は 10000 を超えることはできません。LIMIT rows を省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。

    1万件を超える記録が存在する結果を表示するには、 LIMIT rows を含めるか、 Snowflake Information Schema の対応するビューをクエリします。

tpch.public スキーマで表示する権限がある、名前が line で始まるすべてのタスクを表示します。

SHOW TASKS LIKE 'line%' IN tpch.public;
Copy

tpch.public スキーマで表示する権限を持つタスクすべてを表示します。

SHOW TASKS IN tpch.public;
Copy