<service_name>!SPCS_GET_LOGS

指定されたサービスのコンテナからSnowflakeが収集したログを返します。詳細については、 コンテナログへのアクセス をご参照ください。

注釈

この関数は、リリース9.20以降で作成されたサービスとジョブでのみサポートされます。

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

サービスのモニタリング

構文

<service_name>!SPCS_GET_LOGS(
  [ START_TIME => <constant_expr> ],
  [ END_TIME => <constant_expr> ] )
Copy

引数

START_TIME => constant_expr

ログを取得する時間範囲の開始時刻(TIMESTAMP_LTZ 形式)。データ、時刻、タイムスタンプデータを構築するために利用できる関数については、日付と時刻の関数 をご覧ください。

START_TIME が指定されていない場合、デフォルトで1日前に設定されます。

END_TIME => constant_expr

ログを取得する時間範囲の終了時刻(TIMESTAMP_LTZ 形式)。

END_TIME が指定されていない場合、デフォルトで現在のタイムスタンプになります。

出力

出力の各行は、イベントテーブルのログイベント1つに対応します。サービスが stdout または stderr に出力する各行は、出力で1行になります。

この関数は、次の列を返します。

データ型

説明

TIMESTAMP

TIMESTAMP_NTZ

Snowflakeがコンテナからログを収集した時点の協定世界時(UTC)によるタイムスタンプ。この値はイベントテーブルの TIMESTAMP 列にマッピングされます。

INSTANCE_ID

NUMBER

ジョブサービスインスタンスの ID。この値はイベントテーブルの RESOURCE_ATTRIBUTES 列の snow.service.instance フィールドにマッピングされます。

CONTAINER_NAME

VARCHAR

コンテナの名前。この値はイベントテーブルの snow.service.container.name 列の RESOURCE_ATTRIBUTES フィールドにマッピングされます。

LOG

VARCHAR

Snowflakeがアプリケーションコンテナから収集したログ。この値はイベントテーブルの VALUE 列にマッピングされます。

RECORD_ATTRIBUTES

OBJECT

ログに関する追加情報。たとえば、ログが収集された場所からのログストリーム(stderrまたはstdout)。この値はイベントテーブルの RECORD_ATTRIBUTES 列にマッピングされます。

アクセス制御の要件

この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

OWNERSHIP

サービス

スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • コンテナログが出力に表示されるまでに数分かかる場合があります。

過去1日間の my_test_job ジョブのコンテナからSnowflakeが収集したログを取得する。

SELECT * FROM TABLE(my_test_job!SPCS_GET_LOGS());
Copy

出力例:

+-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+
| TIMESTAMP               | INSTANCE_ID | CONTAINER_NAME | LOG                                                                                                                                                                 | RECORD_ATTRIBUTES          |
|-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------|
| 2025-06-26 00:23:40.281 |           0 | main           | job-tutorial - INFO - Job finished                                                                                                                                  | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
| 2025-06-26 00:23:38.787 |           0 | main           | job-tutorial - INFO - Executing query [select current_time() as time,'hello'] and writing result to table [results]                                                 | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
| 2025-06-26 00:23:38.787 |           0 | main           | job-tutorial - INFO - Connection succeeded. Current session context: database="TUTORIAL_DB", schema="DATA_SCHEMA", warehouse="TUTORIAL_WAREHOUSE", role="TEST_ROLE" | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
| 2025-06-26 00:23:36.852 |           0 | main           | job-tutorial - INFO - Job started                                                                                                                                   | {                          |
|                         |             |                |                                                                                                                                                                     |   "log.iostream": "stdout" |
|                         |             |                |                                                                                                                                                                     | }                          |
+-------------------------+-------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+

過去3日間の my_test_job ジョブのコンテナからSnowflakeが収集したログを取得する。

SELECT * FROM TABLE(my_test_job!SPCS_GET_LOGS(START_TIME => DATEADD('day', -3, CURRENT_TIMESTAMP())));
Copy

main というコンテナの my_test_job ジョブインスタンス 0 のログを取得する。次の例に示すように、START_TIME 引数と END_TIME 引数を省略した場合、この関数は過去1日間のログを取得します。

SELECT * FROM TABLE(my_test_job!SPCS_GET_LOGS())
WHERE instance_id = 0 AND container_name = 'main';
Copy