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 |
---|---|
|
token de autenticação |
|
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 |
|
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. |