SHOW TASKS

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

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

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

CREATE TASKALTER TASKDROP TASKDESCRIBE TASK

構文

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

パラメーター

TERSE

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

  • created_on

  • 名前

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

  • database_name

  • schema_name

  • スケジュール

LIKE 'pattern'

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

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

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

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

IN ACCOUNT | DATABASE [ db_name ] | SCHEMA [ schema_name ]

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

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

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

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

  • db_name を指定しない場合は、次のようになります。

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

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

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

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

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

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

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

  • 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' は結果を返します(入力文字列に一致する行がある場合)。

使用上の注意

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

  • このコマンドは、稼働中のウェアハウスを必要としません。

  • LIMIT rows の値は 10000 を超えることはできません。 LIMIT rows が省略され、結果セットが10K行より大きい場合、コマンドはエラーになります。

  • このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。

出力

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

列名

説明

created_on

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

名前

タスクの名前。

ID

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

database_name

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

schema_name

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

owner

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

comment

タスクのコメント。

ウェアハウス

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

スケジュール

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

先行タスク

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

状態

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

定義

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

条件

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

allow_overlapping_execution

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

error_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 または DATABASE_ROLE のいずれか。 . Snowflake Native App がオブジェクトを所有する場合、値は APPLICATION になります。 . 削除されたオブジェクトには所有者ロールがないため、オブジェクトを削除した場合、Snowflakeは NULL を返します。

構成

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

budget

オブジェクトが予算によって監視されている場合、 予算 の名前です。それ以外の場合は、 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

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

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

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

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

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

SHOW TASKS IN tpch.public;
Copy