カテゴリ:

システム関数 (システム制御)

SYSTEM$PIPE_FORCE_RESUME

再開するには、 ALTER PIPE を使用してパイプを強制的に一時停止します。これは、次のいずれかのシナリオで必要です。

  • パイプの一時停止中に、パイプの所有者がパイプの所有権を別のロールに譲渡する。

  • 一時停止したパイプは古くなります。

    パイプで受信されたイベントメッセージの保持期間制限(デフォルトでは14日)より長く一時停止された場合、パイプは古くなっていると見なされます。各通知がこの期間の終わりに達すると、Snowflakeはそれを内部メタデータから削除するようにスケジュールします。パイプが後で再開された場合、Snowpipeは14日より古い通知をベストエフォートベーシスで処理する場合があります。Snowflakeは、これらの古い通知が処理されることを保証できません。

    このシナリオは、データロードをトリガーするためにクラウドメッセージングを利用するパイプオブジェクト(つまり、パイプ定義が AUTO_INGEST = TRUE のもの)のみに関連しています。

この関数を実行すると、指定されたパイプが再開されます。

キューに入れられているファイルの数を確認するには、 SYSTEM$PIPE_STATUS をクエリします。

詳細については、 Snowpipe をご参照ください。

構文

SYSTEM$PIPE_FORCE_RESUME( '<pipe_name>' , '[ STALENESS_CHECK_OVERRIDE ] [ , OWNERSHIP_TRANSFER_CHECK_OVERRIDE ]')
Copy

引数

pipe_name

実行を再開するパイプです。

STALENESS_CHECK_OVERRIDE

古いパイプを再開するように指定します。パイプで受信されたイベントメッセージの保持期間制限(デフォルトでは14日)より長く一時停止された場合、パイプは古くなっていると見なされます。

注釈

この引数は、クラウドメッセージングを利用してデータロードをトリガーするパイプオブジェクトのみに関連しています。

OWNERSHIP_TRANSFER_CHECK_OVERRIDE

パイプの所有権が別のロールに譲渡された後にパイプを再開することを指定します。

注釈

下位互換性を確保するために、 pipe_name を唯一の入力として渡すことは、構文的には pipe_nameOWNERSHIP_TRANSFER_CHECK_OVERRIDE の両方を渡すことと同じです。

STALENESS_CHECK_OVERRIDEOWNERSHIP_TRANSFER_CHECK_OVERRIDE の両方が必要な場合、これらの引数はどちらの順序でも入力できます。

使用上の注意

  • パイプの所有者(つまり、パイプに対する OWNERSHIP 権限を持つロール) または パイプに対する OPERATE 権限のあるロールのみが、この SQL 関数を呼び出すことができます。

    スキーマオブジェクトでの SQL 操作には、オブジェクトを含むデータベースとスキーマに対する USAGE 権限も必要です。

  • pipe_name は文字列であるため、一重引用符で囲む必要があります。

    • データベースとスキーマ(名前が完全修飾されている場合)を含む、名前全体を一重引用符で囲む必要があります。つまり、 '<データベース>.<スキーマ>.<パイプ名>'

    • パイプ名で大文字と小文字が区別されるか、特殊文字やスペースが含まれる場合、大文字と小文字の処理には二重引用符が必要です。二重引用符は、一重引用符で囲む必要があります。つまり、 '"<パイプ名>"'

大文字と小文字を区別しない名前のパイプを強制的に再開します。

SELECT SYSTEM$PIPE_FORCE_RESUME('mydb.myschema.mypipe');
Copy

大文字と小文字を区別する名前のパイプを強制的に再開します。

SELECT SYSTEM$PIPE_FORCE_RESUME('mydb.myschema."myPipe"');
Copy

所有権が別のロールに譲渡された後、古いパイプを強制的に再開します。

SELECT SYSTEM$PIPE_FORCE_RESUME('mydb.myschema.stalepipe','staleness_check_override, ownership_transfer_check_override');
Copy