Snowpipe Streaming API REST-Endpunkte

Die folgenden Anfrage-Header gelten für alle Endpunkte von Snowpipe Streaming REST API:

Header

Beschreibung

Authorization

Authentifizierungstoken

X-Snowflake-Authorization-Token-Type (optional)

JWT/OAuth

Hostname abrufen

Get Hostname gibt den Hostnamen zurück, der für die Interaktion mit Snowpipe Streaming REST API verwendet wird. Jedes Konto hat einen eindeutigen Hostnamen.

GET /v2/streaming/hostname

Antwort:

Feld

Typ

Beschreibung

status_code

int

Statuscode, den Kunden verwenden können, um interne Fehler der öffentlichen Dokumentation zuzuordnen.

Meldung

string

Beschreibende Fehlermeldung, die den Fehler erklärt, wenn der Antwortcode nicht 200 (Erfolg) lautet. Andernfalls ist sie bei Antwortcode 200 leer.

Hostname

string

Der Rowset-Hostname des Kontos.

Token mit Rowset-Spezifikation austauschen

Exchange Rowset Scoped Token gibt ein Sicherheits-Token zurück, das nur für den Zugriff auf den Snowpipe Streaming API-bezogenen Dienst verwendet werden kann. Dies bietet Sicherheit für den Kunden.

POST /oauth/token

Anfrage:

Attribut

Erforderlich

Komponente

Beschreibung

content_type

Ja

Header

„application/x-www-form-urlencoded“

grant_type

Ja

Nutzlast

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

scope

Ja

Nutzlast

Der Rowset-Hostname des Kontos

Antwort:

Feld

Typ

Beschreibung

status_code

int

Statuscode, den Kunden verwenden können, um interne Fehler der öffentlichen Dokumentation zuzuordnen.

Meldung

string

Beschreibende Fehlermeldung, die den Fehler erklärt, wenn der Antwortcode nicht 200 (Erfolg) lautet. Andernfalls ist sie bei Antwortcode 200 leer.

Token

string

Das Token mit Rowset-Spezifikation.

Offener Kanal

Die Operation Open Channel erstellt oder öffnet einen neuen Kanal für eine Pipe oder Tabelle. Wenn der Kanal bereits existiert, stößt Snowflake den Client-Sequencer des Kanals an und gibt das zuletzt übertragene Offset-Token zurück.

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

Anfrage:

Attribut

Erforderlich

Komponente

Beschreibung

databaseName

Ja

URI

Datenbankname, Groß-/Kleinschreibung wird nicht berücksichtigt

schemaName

Ja

URI

Schemaname, Groß-/Kleinschreibung wird nicht berücksichtigt

pipeName

Ja

URI

Pipe-Name, Groß-/Kleinschreibung wird nicht berücksichtigt

channelName

Ja

URI

Der Name des Kanals, den Sie erstellen oder wieder öffnen, Groß-/Kleinschreibung wird nicht berücksichtigt

offset_token

Nein

Nutzlast

Zeichenfolge, die verwendet wird, um ein Offset-Token beim Öffnen eines Kanals zu setzen.

requestId

Nein

Abfrageparameter

Verwendetes UUID, um Anfragen durch das System zu verfolgen

Antwort:

Feld

Typ

Beschreibung

channel_status_code

String

Zeigt den Status des Kanals an.

last_committed_offset_token

String

Letzter bestätigter Offset-Token

database_name

String

Der Name der Datenbank, zu der der Kanal gehört.

schema_name

String

Der Name des Schemas, zu dem der Kanal gehört.

Pipe-Name

String

Der Name der Pipe, zu der der Kanal gehört.

channel_name

String

Der Name des Kanals.

rows_inserted

int

Eine Zählung aller in diesen Kanal eingefügten Zeilen.

rows_parsed

int

Eine Zählung aller Zeilen, die geparst, aber nicht unbedingt in diesen Kanal eingefügt wurden.

rows_errors

int

Eine Zählung aller Zeilen, bei denen beim Einfügen in diesen Kanal Fehler aufgetreten sind und die daher abgelehnt wurden.

last_error_offset_upper_bound

String

Obere Schranke für das letzte Offset-Token des eingefügten Zeilensatzes, bei dem der letzte einem Fehler entspricht. Der tatsächliche Offset-Token der Zeile mit dem letzten Fehler ist entweder dieser oder der davor liegende in der Reihenfolge der Kanalaufnahme.

last_error_message

String

Eine von Menschen lesbare Nachricht, die dem letzten Fehlercode für diesen Kanal entspricht, wobei sensible Kundendaten unkenntlich gemacht wurden.

last_error_timestamp

timestamp_utc

Zeitstempel, an dem der letzte Fehler aufgetreten ist.

snowflake_avg_processing_latency_ms

int

Durchschnittliche e2e-Verarbeitungszeit für diesen Kanal.

Zeile(n) anhängen

Die Operation Append Rows fügt ein Batch von Zeilen in den angegebenen Kanal ein.

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

Anfrage:

Attribut

Erforderlich

Komponente

Beschreibung

databaseName

Ja

URI

Datenbankname, Groß-/Kleinschreibung wird nicht berücksichtigt

schemaName

Ja

URI

Schemaname, Groß-/Kleinschreibung wird nicht berücksichtigt

pipeName

Ja

URI

Pipe, Groß-/Kleinschreibung wird nicht berücksichtigt

channelName

Ja

URI

Kanalname, Groß-/Kleinschreibung wird nicht berücksichtigt

continuationToken

Ja für zustandsabhängige Clients, aber nicht erforderlich für zustandslose Clients

Abfrageparameter

Fortsetzungs-Token von Snowflake, kapselt sowohl Client- als auch Zeilen-Sequenzer ein

offsetToken

Nein

Abfrageparameter

Zeichenfolge, die verwendet wird, um ein Offset-Token pro Batch zu setzen.

rows

Ja

Nutzlast

Tatsächliche Daten-Nutzlast, die im NDJSON-Format aufgenommen wird.

requestId

Nein

Abfrageparameter

Eine UUID, die verwendet wird, um Anfragen durch das System zu verfolgen.

Antwort:

Feld

Typ

Beschreibung

status_code

int

Statuscode, den Kunden verwenden können, um interne Fehler der öffentlichen Dokumentation zuzuordnen

next_continuation_token

string

Das nächste Fortsetzungs-Token von Snowflake, das sowohl Client- als auch Zeilen-Sequenzer einkapselt. Es sollte für das Einfügen des nächsten Batch verwendet werden.

Meldung

string

Beschreibende Fehlermeldung, die den Fehler erklärt, wenn der Antwortcode nicht 200 (Erfolg) lautet. Andernfalls ist sie bei Antwortcode 200 leer.

Kanal löschen

Der Vorgang Drop Channel legt einen Kanal zusammen mit seinen Metadaten auf der Serverseite ab.

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

Anfrage:

Attribut

Erforderlich

Komponente

Beschreibung

databaseName

Ja

URI

Datenbankname, Groß-/Kleinschreibung wird nicht berücksichtigt

schemaName

Ja

URI

Schemaname, Groß-/Kleinschreibung wird nicht berücksichtigt

pipeOrTableName

Ja

URI

Pipe- oder Tabellenname, Groß-/Kleinschreibung wird nicht berücksichtigt

channelName

Ja

URI

Kanalname, Groß-/Kleinschreibung wird nicht berücksichtigt

continuationToken

Nein

Nutzlast

Fortsetzungs-Token von Snowflake, das sowohl Client- als auch Zeilen-Sequenzer einkapselt. Wenn es nicht vorhanden ist, löschen wir den Kanal mit dem neuesten Client-Sequenzer.

requestId

Nein

Abfrageparameter

Eine UUID, mit der Sie Anfragen im System verfolgen können

Antwort:

Feld

Typ

Beschreibung

status_code

int

Statuscode, den Kunden verwenden können, um interne Fehler der öffentlichen Dokumentation zuzuordnen

Meldung

string

Beschreibende Fehlermeldung, die den Fehler erklärt, wenn der Antwortcode nicht 200 (Erfolg) lautet. Andernfalls ist sie bei Antwortcode 200 leer.

Bulk-Kanalstatus abrufen

Die Operation Bulk Get Channel Status gibt den Status eines Kanals für einen bestimmten Client-Sequenzer zurück.

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

Anfrage:

Attribut

Erforderlich

Komponente

Beschreibung

databaseName

Ja

URI

Datenbankname, Groß-/Kleinschreibung wird nicht berücksichtigt

schemaName

Ja

URI

Schemaname, Groß-/Kleinschreibung wird nicht berücksichtigt

pipeName

Ja

URI

Pipe-Name, Groß-/Kleinschreibung wird nicht berücksichtigt

channelName

Ja

Nutzlast

Ein Array mit Zeichenfolge-Kanalnamen, für die der Kunde den Status abrufen möchte, wobei Groß-/Kleinschreibung beachtet wird.

Antwort:

Feld

Typ

Beschreibung

channel_status_code

String

Zeigt den Status des Kanals an.

last_committed_offset_token

String

Letzter bestätigter Offset-Token

database_name

String

Der Name der Datenbank, zu der der Kanal gehört.

schema_name

String

Der Name des Schemas, zu dem der Kanal gehört.

Pipe-Name

String

Der Name der Pipe, zu der der Kanal gehört.

channel_name

String

Der Name des Kanals.

rows_inserted

int

Eine Zählung aller in diesen Kanal eingefügten Zeilen.

rows_parsed

int

Eine Zählung aller Zeilen, die geparst, aber nicht unbedingt in diesen Kanal eingefügt wurden.

rows_errors

int

Eine Zählung aller Zeilen, bei denen beim Einfügen in diesen Kanal Fehler aufgetreten sind und die daher abgelehnt wurden.

last_error_offset_upper_bound

String

Obere Schranke für das letzte Offset-Token des eingefügten Zeilensatzes, bei dem der letzte einem Fehler entspricht. Der tatsächliche Offset-Token der Zeile mit dem letzten Fehler ist entweder dieser oder der davor liegende in der Reihenfolge der Kanalaufnahme.

last_error_message

String

Eine von Menschen lesbare Nachricht, die dem letzten Fehlercode für diesen Kanal entspricht, wobei sensible Kundendaten unkenntlich gemacht wurden.

last_error_timestamp

timestamp_utc

Zeitstempel, an dem der letzte Fehler aufgetreten ist.

snowflake_avg_processing_latency_ms

int

Durchschnittliche e2e-Verarbeitungszeit für diesen Kanal.