Snowpipe ストリーミング API REST エンドポイント

以下のリクエストヘッダーは、Snowpipe ストリーミング REST API のすべてのエンドポイントに適用されます。

ヘッダー

説明

Authorization

認証トークン

X-Snowflake-Authorization-Token-Type (オプション)

JWT/OAuth

ホスト名の取得

Get Hostname は Snowpipe ストリーミング REST API とのやりとりに使用するホスト名を返します。各アカウントは固有のホスト名を持っています。

GET /v2/streaming/hostname

応答:

フィールド

説明

status_code

int

内部エラーと公開ドキュメントのマッピングに使用できるステータスコード。

message

string

レスポンスコードが200(成功)でない場合のエラーを説明する説明的なエラーメッセージ。そうでなければ、レスポンスコード200の場合は空です。

hostname

string

アカウントの行セットホスト名。

取引所行セット・スコープ・トークン

Exchange Rowset Scoped Token は、Snowpipe ストリーミング API 関連のサービスのみにアクセスするために使用できるセキュリティトークンを返します。これは顧客にセキュリティ保護を提供します。

POST /oauth/token

要求:

属性

必須

コンポーネント

説明

content_type

有り

ヘッダー

"application/x-www-form-urlencoded"

grant_type

有り

payload

"urn:ietf:params:oauth:grant-type:jwt-bearer"

scope

有り

payload

アカウントの行セット ホスト名。

応答:

フィールド

説明

status_code

int

内部エラーと公開ドキュメントのマッピングに使用できるステータスコード。

message

string

レスポンスコードが200(成功)でない場合のエラーを説明する説明的なエラーメッセージ。そうでなければ、レスポンスコード200の場合は空です。

token

string

行セット・スコープ・トークン。

オープンチャンネル

Open Channel オペレーションは、パイプまたはテーブルに対して新しいチャンネルを作成またはオープンします。チャンネルが既に存在する場合、Snowflakeはそのチャンネルのクライアントシーケンサをバンプし、最後にコミットされたオフセットトークンを返します。

PUT /v2/streaming/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}/channels/{channelName}

要求:

属性

必須

コンポーネント

説明

databaseName

有り

URI

大文字と小文字を区別しないデータベース名

schemaName

有り

URI

大文字と小文字を区別しないスキーマ名

pipeName

有り

URI

大文字と小文字を区別しないパイプ名

channelName

有り

URI

大文字と小文字を区別しない、作成または再開するチャンネル名。

offset_token

無し

payload

チャンネルをオープンする際にオフセットトークンをセットするための文字列。

requestId

無し

クエリパラメーター

システムを通してリクエストを追跡するために使用される UUID

応答:

フィールド

説明

channel_status_code

String

チャンネルのステータスを示します。

last_committed_offset_token

String

最新のコミット オフセット トークン

database_name

String

チャンネルが属するデータベース名。

schema_name

String

チャンネルが属するスキーマ名。

pipe_name

String

チャンネルが属するパイプ名。

channel_name

String

チャンネル名。

rows_inserted

int

このチャンネルに挿入されたすべての行の数。

rows_parsed

int

このチャンネルに挿入されるとは限らないが、パースされたすべての行の数。

rows_errors

int

このチャンネルへの挿入時にエラーが発生し、拒否された行の数。

last_error_offset_upper_bound

String

エラーに最後に対応する挿入行セットの最新のオフセットトークンの上限。最後にエラーが発生した行セットの実オフセット・トークンは、このオフセット・トークンか、またはチャンネル取り込み順で厳密にその前のオフセット・トークンのいずれかです。

last_error_message

String

そのチャンネルの最新のエラーコードに対応する人間が読めるメッセージで、機密性の高い顧客データは編集されています。

last_error_timestamp

timestamp_utc

最後にエラーが発生したタイムスタンプ。

snowflake_avg_processing_latency_ms

int

このチャンネルの平均e2e処理時間。

行の追加

Append Rows の演算子は、指定されたチャンネルにバッチで行を挿入します。

POST /v2/streaming/data/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}/channels/{channelName}/rows

要求:

属性

必須

コンポーネント

説明

databaseName

有り

URI

大文字と小文字を区別しないデータベース名

schemaName

有り

URI

大文字と小文字を区別しないスキーマ名

pipeName

有り

URI

大文字と小文字を区別しないパイプ

channelName

有り

URI

大文字と小文字を区別しないチャンネル名

continuationToken

ステートフルクライアントの場合は必要ですが、ステートレスクライアントの場合は不要です。

クエリパラメーター

Snowflakeからの継続トークン、クライアントと行シーケンサーの両方をカプセル化

offsetToken

無し

クエリパラメーター

バッチごとにオフセットトークンをセットするために使用される文字列。

rows

有り

payload

NDJSON 形式でインジェストされる実際のデータペイロード。

requestId

無し

クエリパラメーター

UUID システムを通してリクエストを追跡するために使用されます。

応答:

フィールド

説明

status_code

int

内部エラーと公開ドキュメントをマッピングするために顧客が使用できるステータスコード

next_continuation_token

string

クライアントシーケンサーと行シーケンサーの両方をカプセル化したSnowflakeの次の継続トークンです。次のバッチを挿入するために使用する必要があります。

message

string

レスポンスコードが200(成功)でない場合のエラーを説明する説明的なエラーメッセージ。そうでなければ、レスポンスコード200の場合は空です。

ドロップチャンネル

Drop Channel オペレーションは、メタデータとともにサーバー側にチャンネルをドロップします。

DELETE /v2/streaming/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}/channels/{channelName}

要求:

属性

必須

コンポーネント

説明

databaseName

有り

URI

大文字と小文字を区別しないデータベース名

schemaName

有り

URI

大文字と小文字を区別しないスキーマ名

pipeOrTableName

有り

URI

大文字と小文字を区別しないパイプ名またはテーブル名

channelName

有り

URI

大文字と小文字を区別しないチャンネル名

continuationToken

無し

payload

クライアントシーケンサと行シーケンサの両方をカプセル化したSnowflakeの継続トークン。もしプロバイダーがなければ、最新のクライアント・シーケンサーでチャンネルを削除します。

requestId

無し

クエリパラメーター

システムを通してリクエストを追跡するために使用される UUID

応答:

フィールド

説明

status_code

int

内部エラーと公開ドキュメントをマッピングするために顧客が使用できるステータスコード

message

string

レスポンスコードが200(成功)でない場合のエラーを説明する説明的なエラーメッセージ。そうでなければ、レスポンスコード200の場合は空です。

チャンネルステータスの一括取得

Bulk Get Channel Status オペレーションは、特定のクライアント・シーケンサーのチャンネルのステータスを返します。

POST /v2/streaming/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}:bulk-channel-status

要求:

属性

必須

コンポーネント

説明

databaseName

有り

URI

大文字と小文字を区別しないデータベース名

schemaName

有り

URI

大文字と小文字を区別しないスキーマ名

pipeName

有り

URI

大文字と小文字を区別しないパイプ名

channelName

有り

ペイロード

顧客がステータスを取得したい文字列チャンネル名の配列 (大文字と小文字は区別されます)。

応答:

フィールド

説明

channel_status_code

String

チャンネルのステータスを示します。

last_committed_offset_token

String

最新のコミット オフセット トークン

database_name

String

チャンネルが属するデータベース名。

schema_name

String

チャンネルが属するスキーマ名。

pipe_name

String

チャンネルが属するパイプ名。

channel_name

String

チャンネル名。

rows_inserted

int

このチャンネルに挿入されたすべての行の数。

rows_parsed

int

このチャンネルに挿入されるとは限らないが、パースされたすべての行の数。

rows_errors

int

このチャンネルへの挿入時にエラーが発生し、拒否された行の数。

last_error_offset_upper_bound

String

エラーに最後に対応する挿入行セットの最新のオフセットトークンの上限。最後にエラーが発生した行セットの実オフセット・トークンは、このオフセット・トークンか、またはチャンネル取り込み順で厳密にその前のオフセット・トークンのいずれかです。

last_error_message

String

そのチャンネルの最新のエラーコードに対応する人間が読めるメッセージで、機密性の高い顧客データは編集されています。

last_error_timestamp

timestamp_utc

最後にエラーが発生したタイムスタンプ。

snowflake_avg_processing_latency_ms

int

このチャンネルの平均e2e処理時間。