Pontos de extremidade da Snowpipe Streaming API REST

Os cabeçalhos de solicitação a seguir se aplicam a todos os pontos de extremidade da Snowpipe Streaming REST API:

Cabeçalho

Descrição

Authorization

token de autenticação

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

JWT/OAuth

Obter o nome de host

O Get Hostname retorna o nome de host usado para interagir com a Snowpipe Streaming REST API. Cada conta tem um nome de host exclusivo.

GET /v2/streaming/hostname

Resposta:

Campo

Tipo

Descrição

status_code

int

Código de status que os clientes podem usar para mapear erros internos com a documentação pública.

mensagem

string

Mensagem de erro descritiva que explica o erro quando o código de resposta não é 200 (sucesso). Caso contrário, ela estará vazia para o código de resposta 200.

hostname

string

O nome de host do conjunto de linhas da conta.

Token com escopo de conjunto de linhas do Exchange

O Exchange Rowset Scoped Token retorna um token de segurança que pode ser usado para acessar somente o serviço relacionado à Snowpipe Streaming API. Isso oferece proteção de segurança ao cliente.

POST /oauth/token

Solicitação:

Atributo

Obrigatório

Componente

Descrição

content_type

Sim

Cabeçalho

“application/x-www-form-urlencoded”

grant_type

Sim

carga útil

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

scope

Sim

carga útil

O nome de host do conjunto de linhas da conta

Resposta:

Campo

Tipo

Descrição

status_code

int

Código de status que os clientes podem usar para mapear erros internos com a documentação pública.

mensagem

string

Mensagem de erro descritiva que explica o erro quando o código de resposta não é 200 (sucesso). Caso contrário, ela estará vazia para o código de resposta 200.

token

string

O token com escopo de conjunto de linhas.

Canal aberto

A operação Open Channel cria ou abre um novo canal em um canal ou tabela. Se o canal já existir, o Snowflake incrementa o sequenciador do cliente do canal e retorna o último token de deslocamento confirmado.

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

Solicitação:

Atributo

Obrigatório

Componente

Descrição

databaseName

Sim

URI

Nome do banco de dados, sem distinção entre maiúsculas e minúsculas

schemaName

Sim

URI

Nome do esquema, sem distinção entre maiúsculas e minúsculas

pipeName

Sim

URI

Nome do canal, sem distinção entre maiúsculas e minúsculas

channelName

Sim

URI

O nome do canal que você cria ou reabre, sem distinção entre maiúsculas e minúsculas

offset_token

Não

carga útil

Cadeia de caracteres usada para definir um token de deslocamento ao abrir um canal.

requestId

Não

Parâmetro de consulta

UUID usado para rastrear solicitações no sistema

Resposta:

Campo

Tipo

Descrição

channel_status_code

Cadeia de caracteres

Indica o status do canal.

last_committed_offset_token

Cadeia de caracteres

Último token de deslocamento comprometido

database_name

Cadeia de caracteres

O nome do banco de dados ao qual o canal pertence.

schema_name

Cadeia de caracteres

O nome do esquema ao qual o canal pertence.

pipe_name

Cadeia de caracteres

O nome do canal ao qual o canal pertence.

channel_name

Cadeia de caracteres

O nome do canal.

rows_inserted

int

Uma contagem de todas as linhas inseridas nesse canal.

rows_parsed

int

Uma contagem de todas as linhas analisadas, mas não necessariamente inseridas nesse canal.

rows_errors

int

Uma contagem de todas as linhas que apresentaram erros ao serem inseridas nesse canal e, portanto, foram rejeitadas.

last_error_offset_upper_bound

Cadeia de caracteres

Limite superior para o token de deslocamento mais recente do conjunto de linhas inserido, cuja última linha corresponde a um erro. O token de deslocamento real do conjunto de linhas com o último erro é este ou está estritamente antes dele na ordem de ingestão do canal.

last_error_message

Cadeia de caracteres

Uma mensagem legível para humanos correspondente ao código de erro mais recente para esse canal, com os dados confidenciais do cliente redigidos.

last_error_timestamp

timestamp_utc

Carimbo de data/hora em que ocorreu o último erro.

snowflake_avg_processing_latency_ms

int

Tempo médio de processamento e2e para esse canal.

Anexar linha(s)

A operação Append Rows insere um lote de linhas no canal fornecido.

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

Solicitação:

Atributo

Obrigatório

Componente

Descrição

databaseName

Sim

URI

Nome do banco de dados, sem distinção entre maiúsculas e minúsculas

schemaName

Sim

URI

Nome do esquema, sem distinção entre maiúsculas e minúsculas

pipeName

Sim

URI

Canal, sem distinção entre maiúsculas e minúsculas

channelName

Sim

URI

Nome do canal, sem distinção entre maiúsculas e minúsculas

continuationToken

Sim para clientes com estado, mas não é necessário para clientes sem estado

Parâmetro de consulta

Token de continuação Snowflake, encapsula os sequenciadores de cliente e de linha

offsetToken

Não

Parâmetro de consulta

Cadeia de caracteres usada para definir um token de deslocamento por lote.

rows

Sim

carga útil

Carga útil real de dados que será ingerida no formato NDJSON.

requestId

Não

Parâmetro de consulta

Um UUID usado para rastrear solicitações no sistema.

Resposta:

Campo

Tipo

Descrição

status_code

int

Código de status que os clientes podem usar para mapear erros internos com a documentação pública

next_continuation_token

string

O próximo token de continuação do Snowflake, que encapsula os sequenciadores de cliente e de linha. Ele deve ser usado para inserir o próximo lote.

mensagem

string

Mensagem de erro descritiva que explica o erro quando o código de resposta não é 200 (sucesso). Caso contrário, ela estará vazia para o código de resposta 200.

Canal de descarte

A operação Drop Channel descarta um canal no lado do servidor junto com seus metadados.

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

Solicitação:

Atributo

Obrigatório

Componente

Descrição

databaseName

Sim

URI

Nome do banco de dados, sem distinção entre maiúsculas e minúsculas

schemaName

Sim

URI

Nome do esquema, sem distinção entre maiúsculas e minúsculas

pipeOrTableName

Sim

URI

Nome do canal ou da tabela, sem distinção entre maiúsculas e minúsculas

channelName

Sim

URI

Nome do canal, sem distinção entre maiúsculas e minúsculas

continuationToken

Não

carga útil

Token de continuação Snowflake, que encapsula os sequenciadores de cliente e de linha. Se não for fornecido, excluiremos o canal com o sequenciador de cliente mais recente.

requestId

Não

Parâmetro de consulta

Um UUID usado para rastrear solicitações no sistema

Resposta:

Campo

Tipo

Descrição

status_code

int

Código de status que os clientes podem usar para mapear erros internos com a documentação pública

mensagem

string

Mensagem de erro descritiva que explica o erro quando o código de resposta não é 200 (sucesso). Caso contrário, ela estará vazia para o código de resposta 200.

Obter status do canal em massa

A operação Bulk Get Channel Status retorna o status de um canal para um sequenciador de cliente específico.

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

Solicitação:

Atributo

Obrigatório

Componente

Descrição

databaseName

Sim

URI

Nome do banco de dados, sem distinção entre maiúsculas e minúsculas

schemaName

Sim

URI

Nome do esquema, sem distinção entre maiúsculas e minúsculas

pipeName

Sim

URI

Nome do canal, sem distinção entre maiúsculas e minúsculas

channelName

Sim

Carga útil

Uma matriz de cadeia de caracteres de nomes de canais para os quais o cliente deseja obter status, diferenciando maiúsculas de minúsculas.

Resposta:

Campo

Tipo

Descrição

channel_status_code

Cadeia de caracteres

Indica o status do canal.

last_committed_offset_token

Cadeia de caracteres

Último token de deslocamento comprometido

database_name

Cadeia de caracteres

O nome do banco de dados ao qual o canal pertence.

schema_name

Cadeia de caracteres

O nome do esquema ao qual o canal pertence.

pipe_name

Cadeia de caracteres

O nome do canal ao qual o canal pertence.

channel_name

Cadeia de caracteres

O nome do canal.

rows_inserted

int

Uma contagem de todas as linhas inseridas nesse canal.

rows_parsed

int

Uma contagem de todas as linhas analisadas, mas não necessariamente inseridas nesse canal.

rows_errors

int

Uma contagem de todas as linhas que apresentaram erros ao serem inseridas nesse canal e, portanto, foram rejeitadas.

last_error_offset_upper_bound

Cadeia de caracteres

Limite superior para o token de deslocamento mais recente do conjunto de linhas inserido, cuja última linha corresponde a um erro. O token de deslocamento real do conjunto de linhas com o último erro é este ou está estritamente antes dele na ordem de ingestão do canal.

last_error_message

Cadeia de caracteres

Uma mensagem legível para humanos correspondente ao código de erro mais recente para esse canal, com os dados confidenciais do cliente redigidos.

last_error_timestamp

timestamp_utc

Carimbo de data/hora em que ocorreu o último erro.

snowflake_avg_processing_latency_ms

int

Tempo médio de processamento e2e para esse canal.