Snowpipe Streaming API REST-Endpunkte¶
Die folgenden Anfrage-Header gelten für alle Endpunkte von Snowpipe Streaming REST API:
Header |
Beschreibung |
---|---|
|
Authentifizierungstoken |
|
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 |
|
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. |