Snowpipe Streaming API REST 엔드포인트¶
다음 요청 헤더는 Snowpipe Streaming REST API 의 모든 엔드포인트에 적용됩니다.
헤더 |
설명 |
---|---|
|
인증 토큰 |
|
JWT/OAuth |
호스트 이름 가져오기¶
Get Hostname
은 Snowpipe Streaming REST API 와 상호 작용하는 데 사용되는 호스트 이름을 반환합니다. 각 계정에는 고유한 호스트 이름이 있습니다.
GET /v2/streaming/hostname
응답:
필드 |
타입 |
설명 |
---|---|---|
status_code |
int |
고객이 내부 오류를 공개 설명서와 매핑하는 데 사용할 수 있는 상태 코드입니다. |
메시지 |
문자열 |
응답 코드가 200(성공)이 아닌 경우 오류를 설명하는 설명형 오류 메시지입니다. 그렇지 않으면 응답 코드 200에 대해 비어 있습니다. |
호스트 이름 |
문자열 |
계정의 행 집합 호스트 이름입니다. |
교환 행 세트 범위 토큰¶
Exchange Rowset Scoped Token
은 Snowpipe Streaming API 관련 서비스에만 액세스할 수 있는 보안 토큰을 반환합니다. 이는 고객을 위한 보안 보호 기능을 제공합니다.
POST /oauth/token
요청:
속성 |
필수 |
구성 요소 |
설명 |
---|---|---|---|
content_type |
예 |
헤더 |
“application/x-www-form-urlencoded” |
grant_type |
예 |
페이로드 |
|
범위 |
예 |
페이로드 |
계정의 행 집합 호스트 이름 |
응답:
필드 |
타입 |
설명 |
---|---|---|
status_code |
int |
고객이 내부 오류를 공개 설명서와 매핑하는 데 사용할 수 있는 상태 코드입니다. |
메시지 |
문자열 |
응답 코드가 200(성공)이 아닌 경우 오류를 설명하는 설명형 오류 메시지입니다. 그렇지 않으면 응답 코드 200에 대해 비어 있습니다. |
토큰 |
문자열 |
행 집합 범위 토큰입니다. |
Open Channel¶
Open Channel
작업은 파이프 또는 테이블에 대해 새 채널을 만들거나 엽니다. 채널이 이미 존재하는 경우, Snowflake는 채널의 클라이언트 시퀀서를 범프하고 마지막으로 커밋된 오프셋 토큰을 반환합니다.
PUT /v2/streaming/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}/channels/{channelName}
요청:
속성 |
필수 |
구성 요소 |
설명 |
---|---|---|---|
databaseName |
예 |
URI |
데이터베이스 이름, 대/소문자 구분 안 함 |
schemaName |
예 |
URI |
스키마 이름, 대/소문자 구분 안 함 |
pipeName |
예 |
URI |
파이프 이름, 대/소문자 구분 안 함 |
channelName |
예 |
URI |
생성하거나 다시 여는 채널의 이름(대/소문자 구분 안 함) |
offset_token |
아니요 |
페이로드 |
채널을 열 때 오프셋 토큰을 설정하는 데 사용되는 문자열입니다. |
requestId |
아니요 |
쿼리 매개 변수 |
시스템을 통해 요청을 추적하는 데 사용되는 UUID |
응답:
필드 |
타입 |
설명 |
---|---|---|
channel_status_code |
String |
채널의 상태를 나타냅니다. |
last_committed_offset_token |
String |
최근 커밋된 오프셋 토큰 |
데이터베이스_이름 |
String |
채널이 속한 데이터베이스의 이름입니다. |
스키마_이름 |
String |
채널이 속한 스키마의 이름입니다. |
파이프_이름 |
String |
채널이 속한 파이프의 이름입니다. |
channel_name |
String |
채널의 이름입니다. |
rows_inserted |
int |
이 채널에 삽입된 모든 행의 개수입니다. |
rows_parsed |
int |
구문 분석되었지만 반드시 이 채널에 삽입되지는 않은 모든 행의 개수입니다. |
rows_errors |
int |
이 채널에 삽입할 때 오류가 발생하여 거부된 모든 행의 개수입니다. |
last_error_offset_upper_bound |
String |
삽입된 행 세트의 마지막 오류에 해당하는 최신 오프셋 토큰의 상한값입니다. 마지막 오류가 있는 행으로 설정된 행의 실제 오프셋 토큰은 이 토큰이거나 채널 수집 순서에서 엄밀히 말하면 그 바로 앞의 토큰입니다. |
last_error_message |
String |
해당 채널의 최신 오류 코드에 해당하는 사람이 읽을 수 있는 메시지로, 민감한 고객 데이터가 삭제되어 있습니다. |
last_error_timestamp |
timestamp_utc |
마지막 오류가 발생한 타임스탬프입니다. |
Snowflake_avg_processing_latency_ms |
int |
이 채널의 평균 e2e 처리 시간입니다. |
행 추가¶
Append Rows
작업은 지정된 채널에 행 배치를 삽입합니다.
POST /v2/streaming/data/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}/channels/{channelName}/rows
요청:
속성 |
필수 |
구성 요소 |
설명 |
---|---|---|---|
databaseName |
예 |
URI |
데이터베이스 이름, 대/소문자 구분 안 함 |
schemaName |
예 |
URI |
스키마 이름, 대/소문자 구분 안 함 |
pipeName |
예 |
URI |
파이프, 대/소문자 구분 안 함 |
channelName |
예 |
URI |
채널 이름, 대/소문자 구분 안 함 |
연속 토큰 |
상태 저장 클라이언트의 경우 예, 상태 비저장 클라이언트의 경우 필수가 아닙니다 |
쿼리 매개 변수 |
Snowflake의 연속 토큰, 클라이언트와 행 시퀀스를 모두 캡슐화합니다 |
offsetToken |
아니요 |
쿼리 매개 변수 |
배치별 오프셋 토큰을 설정하는 데 사용되는 문자열입니다. |
rows |
예 |
페이로드 |
NDJSON 형식으로 수집될 실제 데이터 페이로드입니다. |
requestId |
아니요 |
쿼리 매개 변수 |
시스템을 통해 요청을 추적하는 데 사용되는 UUID. |
응답:
필드 |
타입 |
설명 |
---|---|---|
status_code |
int |
고객이 내부 오류를 공개 설명서와 매핑하는 데 사용할 수 있는 상태 코드입니다. |
next_continuation_token |
문자열 |
클라이언트와 행 시퀀스를 모두 캡슐화하는 Snowflake의 다음 연속 토큰입니다. 다음 배치를 삽입하는 데 사용해야 합니다. |
메시지 |
문자열 |
응답 코드가 200(성공)이 아닌 경우 오류를 설명하는 설명형 오류 메시지입니다. 그렇지 않으면 응답 코드 200에 대해 비어 있습니다. |
채널 제거¶
Drop Channel
작업은 메타데이터와 함께 서버 측에 채널을 드롭합니다.
DELETE /v2/streaming/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}/channels/{channelName}
요청:
속성 |
필수 |
구성 요소 |
설명 |
---|---|---|---|
databaseName |
예 |
URI |
데이터베이스 이름, 대/소문자 구분 안 함 |
schemaName |
예 |
URI |
스키마 이름, 대/소문자 구분 안 함 |
pipeOrTableName |
예 |
URI |
파이프 또는 테이블 이름, 대/소문자 구분 안 함 |
channelName |
예 |
URI |
채널 이름, 대/소문자 구분 안 함 |
연속 토큰 |
아니요 |
페이로드 |
클라이언트와 행 시퀀스를 모두 캡슐화하는 Snowflake의 연속 토큰입니다. 제공되지 않은 경우 최신 클라이언트 시퀀서로 채널을 삭제합니다. |
requestId |
아니요 |
쿼리 매개 변수 |
시스템을 통해 요청을 추적하는 데 사용되는 UUID |
응답:
필드 |
타입 |
설명 |
---|---|---|
status_code |
int |
고객이 내부 오류를 공개 설명서와 매핑하는 데 사용할 수 있는 상태 코드입니다. |
메시지 |
문자열 |
응답 코드가 200(성공)이 아닌 경우 오류를 설명하는 설명형 오류 메시지입니다. 그렇지 않으면 응답 코드 200에 대해 비어 있습니다. |
채널 상태 일괄 가져오기¶
Bulk Get Channel Status
작업은 특정 클라이언트 시퀀서에 대한 채널의 상태를 반환합니다.
POST /v2/streaming/databases/{databaseName}/schemas/{schemaName}/pipes/{pipeName}:bulk-channel-status
요청:
속성 |
필수 |
구성 요소 |
설명 |
---|---|---|---|
databaseName |
예 |
URI |
데이터베이스 이름, 대/소문자 구분 안 함 |
schemaName |
예 |
URI |
스키마 이름, 대/소문자 구분 안 함 |
pipeName |
예 |
URI |
파이프 이름, 대/소문자 구분 안 함 |
channelName |
예 |
페이로드 |
고객이 상태를 확인하려는 채널 이름의 대/소문자 구분이 있는 문자열 배열입니다. |
응답:
필드 |
타입 |
설명 |
---|---|---|
channel_status_code |
String |
채널의 상태를 나타냅니다. |
last_committed_offset_token |
String |
최근 커밋된 오프셋 토큰 |
데이터베이스_이름 |
String |
채널이 속한 데이터베이스의 이름입니다. |
스키마_이름 |
String |
채널이 속한 스키마의 이름입니다. |
파이프_이름 |
String |
채널이 속한 파이프의 이름입니다. |
channel_name |
String |
채널의 이름입니다. |
rows_inserted |
int |
이 채널에 삽입된 모든 행의 개수입니다. |
rows_parsed |
int |
구문 분석되었지만 반드시 이 채널에 삽입되지는 않은 모든 행의 개수입니다. |
rows_errors |
int |
이 채널에 삽입할 때 오류가 발생하여 거부된 모든 행의 개수입니다. |
last_error_offset_upper_bound |
String |
삽입된 행 세트의 마지막 오류에 해당하는 최신 오프셋 토큰의 상한값입니다. 마지막 오류가 있는 행으로 설정된 행의 실제 오프셋 토큰은 이 토큰이거나 채널 수집 순서에서 엄밀히 말하면 그 바로 앞의 토큰입니다. |
last_error_message |
String |
해당 채널의 최신 오류 코드에 해당하는 사람이 읽을 수 있는 메시지로, 민감한 고객 데이터가 삭제되어 있습니다. |
last_error_timestamp |
timestamp_utc |
마지막 오류가 발생한 타임스탬프입니다. |
Snowflake_avg_processing_latency_ms |
int |
이 채널의 평균 e2e 처리 시간입니다. |