SYSTEM$AUTO_REFRESH_STATUS

外部で管理されている Iceberg テーブル の自動リフレッシュステータスを返します。

構文

SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
Copy

引数

'table_name'

現在の自動化された更新ステータスを取得したいIcebergテーブルの名前。

名前全体を一重引用符で囲む必要があります。完全修飾された名前を使用している場合は、データベースとスキーマを含めます。テーブル名に大文字と小文字が区別される場合、または特殊文字やスペースが含まれる場合は、二重引用符を使用する必要があります。二重引用符は、一重引用符で囲む必要があります。例えば、 '"Table_Name"' です。

戻り値

この関数は、次の名前/値のペアを含む JSON オブジェクトを返します。

{
  “executionState”:”<value>”,
  ”invalidExecutionStateReason”:”<value>”
  ”pendingSnapshotCount”:<value>,
  ”oldestSnapshotTime”:<value>,
  ”currentSnapshotId”:”<value>”,
  ”lastSnapshotTime”:”<value>”,
  ”lastUpdatedTime”:<value>
}
Copy

条件:

“executionState”

Snowflakeがテーブルのメタデータ更新を自動化するために使用するパイプの現在の実行状態。

値:

  • RUNNING: 自動更新は期待通りに実行しています。このステータスは、Snowflakeがパイプのイベントメッセージをアクティブに処理しているかどうかを示すものではありません。

  • STALLED: 自動更新でエラーが発生し、回復しようとしています。

  • STOPPED: 自動更新で回復不可能なエラーが発生し、さらにアクションを取らない限り停止されます。詳細については、 エラーの回復 をご参照ください。

”invalidExecutionStateReason”

STALLED または STOPPED 実行状態に関連するエラーメッセージ。

”pendingSnapshotCount”

自動更新のためにキューに入れられたスナップショットの数。

”oldestSnapshotTime”

キューに入れられたスナップショットの中で最も古いタイムスタンプ。Snowflakeは、スナップショットがキューに追加されたときに、スナップショットのタイムスタンプを設定します。

”currentSnapshotId”

Snowflakeが追跡している現在のスナップショットの ID。これは、現在のテーブルデータが対応するスナップショットを表しています。

”lastSnapshotTime”

Icebergメタデータに応じた、現在のスナップショットの作成タイムスタンプ。このタイムスタンプは、現在のスナップショットが外部カタログで生成されたときに対応します。

”lastUpdatedTime”

Snowflakeが現在のスナップショットを正常に処理したタイミングを示すタイムスタンプ。この値と lastSnapshotTime の差は、スナップショットが外部カタログに作成されてから、Snowflakeがテーブルのメタデータを正常に更新するまでの待ち時間示します。

待ち時間を減らすには、テーブルに関連するカタログ統合の REFRESH_INTERVAL_SECONDS パラメーターを調整します。

使用上の注意

この関数を呼び出すには、Icebergテーブルに対して OWNERSHIP 権限を持つロールが必要です。

スキーマ db1.schema1 内のテーブル my_iceberg_table の自動更新ステータスを取得します。

SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');
Copy