Points de terminaison de Snowpipe Streaming API REST

Les en-têtes de requête suivants s’appliquent à tous les points de terminaison de Snowpipe Streaming REST API :

En-tête

Description

Authorization

jeton d’authentification

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

JWT/OAuth

Get Hostname

Get Hostname renvoie le nom d’hôte utilisé pour interagir avec Snowpipe Streaming REST API. Chaque compte a un nom d’hôte unique.

GET /v2/streaming/hostname

Réponse :

Champ

Type

Description

status_code

int

Code de statut que les clients peuvent utiliser pour mapper les erreurs internes avec la documentation publique.

message

string

Message d’erreur descriptif expliquant l’erreur lorsque le code de réponse n’est pas 200 (Succès). Sinon, il est vide pour le code de réponse 200.

hostname

string

Le nom d’hôte de l’ensemble de lignes du compte.

Exchange Rowset Scoped Token

Exchange Rowset Scoped Token renvoie un jeton de sécurité qui peut être utilisé pour accéder uniquement au service lié à l’API de Snowpipe Streaming. Le client bénéficie ainsi d’une protection en matière de sécurité.

POST /oauth/token

Requête :

Attribut

Obligatoire

Composant

Description

content_type

Oui

En-tête

« application/x-www-form-urlencoded »

grant_type

Oui

charge utile

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

scope

Oui

charge utile

Le nom d’hôte de l’ensemble de lignes du compte

Réponse :

Champ

Type

Description

status_code

int

Code de statut que les clients peuvent utiliser pour mapper les erreurs internes avec la documentation publique.

message

string

Message d’erreur descriptif expliquant l’erreur lorsque le code de réponse n’est pas 200 (Succès). Sinon, il est vide pour le code de réponse 200.

token

string

Le jeton du champ d’application de l’ensemble de lignes.

Open Channel

L’opération Open Channel permet de créer ou d’ouvrir un nouveau canal par rapport à un canal ou à une table. Si le canal existe déjà, Snowflake bouscule le séquenceur client du canal et renvoie le dernier jeton de décalage engagé.

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

Requête :

Attribut

Obligatoire

Composant

Description

databaseName

Oui

URI

Nom de la base de données, non sensible à la casse

schemaName

Oui

URI

Nom du schéma, non sensible à la casse

pipeName

Oui

URI

Nom du canal, non sensible à la casse

channelName

Oui

URI

Nom du canal que vous créez ou rouvrez, non sensible à la casse

offset_token

Non

charge utile

Chaîne utilisée pour définir un jeton de décalage lors de l’ouverture d’un canal.

requestId

Non

Paramètre de requête

UUID utilisé pour suivre les requêtes dans le système

Réponse :

Champ

Type

Description

channel_status_code

Chaîne

Indique le statut du canal.

last_committed_offset_token

Chaîne

Dernier jeton de décalage engagé

database_name

Chaîne

Le nom de la base de données à laquelle le canal appartient.

schema_name

Chaîne

Le nom du schéma auquel le canal appartient.

nom_canal

Chaîne

Le nom du canal auquel le canal appartient.

channel_name

Chaîne

Le nom du canal.

rows_inserted

int

Un compte de toutes les lignes insérées dans ce canal.

rows_parsed

int

Un compte de toutes les lignes analysées, mais pas nécessairement insérées dans ce canal.

rows_errors

int

Un compte de toutes les lignes qui ont connu des erreurs lors de l’insertion dans ce canal et qui ont donc été rejetées.

last_error_offset_upper_bound

Chaîne

La limite supérieure du dernier jeton de décalage de l’ensemble de lignes inséré correspondant à une erreur. Le jeton de décalage réel de l’ensemble de lignes contenant la dernière erreur est soit celui-ci, soit celui qui lui est strictement antérieur dans l’ordre d’ingestion des canaux.

last_error_message

Chaîne

Un message lisible par l’être humain correspondant au dernier code d’erreur pour ce canal, avec les données sensibles du client expurgées.

last_error_timestamp

timestamp_utc

Horodatage auquel la dernière erreur s’est produite.

snowflake_avg_processing_latency_ms

int

Temps moyen de traitement e2e pour ce canal.

Append Row(s)

L’opération Append Rows insère un lot de lignes dans le canal donné.

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

Requête :

Attribut

Obligatoire

Composant

Description

databaseName

Oui

URI

Nom de la base de données, non sensible à la casse

schemaName

Oui

URI

Nom du schéma, non sensible à la casse

pipeName

Oui

URI

Canal, non sensible à la casse

channelName

Oui

URI

Nom du canal, non sensible à la casse

continuationToken

Oui pour les clients avec état, mais pas obligatoire pour les clients sans état

Paramètre de requête

Jeton de continuité de Snowflake, encapsule les séquenceurs de clients et de lignes

offsetToken

Non

Paramètre de requête

Chaîne utilisée pour l’ensemble des jetons de décalage par lot.

rows

Oui

charge utile

Charge utile des données réelles qui seront ingérées au format NDJSON.

requestId

Non

Paramètre de requête

UUID utilisé pour suivre les requêtes dans le système.

Réponse :

Champ

Type

Description

status_code

int

Code de statut que les clients peuvent utiliser pour mapper les erreurs internes avec la documentation publique

next_continuation_token

string

Le jeton de continuation suivant provient de Snowflake, qui encapsule à la fois les séquenceurs de clients et de lignes. Il doit être utilisé pour l’insertion du lot suivant.

message

string

Message d’erreur descriptif expliquant l’erreur lorsque le code de réponse n’est pas 200 (Succès). Sinon, il est vide pour le code de réponse 200.

Drop Channel

L’opération Drop Channel dépose un canal sur le serveur avec ses métadonnées.

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

Requête :

Attribut

Obligatoire

Composant

Description

databaseName

Oui

URI

Nom de la base de données, non sensible à la casse

schemaName

Oui

URI

Nom du schéma, non sensible à la casse

pipeOrTableName

Oui

URI

Nom du canal ou de la table, non sensible à la casse

channelName

Oui

URI

Nom du canal, non sensible à la casse

continuationToken

Non

charge utile

Jeton de continuation de Snowflake, qui encapsule les séquenceurs de clients et de lignes. S’il n’est pas fourni, nous supprimerons le canal avec le dernier séquenceur du client.

requestId

Non

Paramètre de requête

UUID utilisé pour suivre les requêtes dans le système

Réponse :

Champ

Type

Description

status_code

int

Code de statut que les clients peuvent utiliser pour mapper les erreurs internes avec la documentation publique

message

string

Message d’erreur descriptif expliquant l’erreur lorsque le code de réponse n’est pas 200 (Succès). Sinon, il est vide pour le code de réponse 200.

Bulk Get Channel Status

L’opération Bulk Get Channel Status renvoie le statut d’un canal pour un séquenceur client spécifique.

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

Requête :

Attribut

Obligatoire

Composant

Description

databaseName

Oui

URI

Nom de la base de données, non sensible à la casse

schemaName

Oui

URI

Nom du schéma, non sensible à la casse

pipeName

Oui

URI

Nom du canal, non sensible à la casse

channelName

Oui

Charge utile

Un tableau de noms de chaînes pour lesquelles le client souhaite obtenir un statut, sensible à la casse.

Réponse :

Champ

Type

Description

channel_status_code

Chaîne

Indique le statut du canal.

last_committed_offset_token

Chaîne

Dernier jeton de décalage engagé

database_name

Chaîne

Le nom de la base de données à laquelle le canal appartient.

schema_name

Chaîne

Le nom du schéma auquel le canal appartient.

nom_canal

Chaîne

Le nom du canal auquel le canal appartient.

channel_name

Chaîne

Le nom du canal.

rows_inserted

int

Un compte de toutes les lignes insérées dans ce canal.

rows_parsed

int

Un compte de toutes les lignes analysées, mais pas nécessairement insérées dans ce canal.

rows_errors

int

Un compte de toutes les lignes qui ont connu des erreurs lors de l’insertion dans ce canal et qui ont donc été rejetées.

last_error_offset_upper_bound

Chaîne

La limite supérieure du dernier jeton de décalage de l’ensemble de lignes inséré correspondant à une erreur. Le jeton de décalage réel de l’ensemble de lignes contenant la dernière erreur est soit celui-ci, soit celui qui lui est strictement antérieur dans l’ordre d’ingestion des canaux.

last_error_message

Chaîne

Un message lisible par l’être humain correspondant au dernier code d’erreur pour ce canal, avec les données sensibles du client expurgées.

last_error_timestamp

timestamp_utc

Horodatage auquel la dernière erreur s’est produite.

snowflake_avg_processing_latency_ms

int

Temps moyen de traitement e2e pour ce canal.