ReadonlybinaryThe binary input format. One of: "BASE64", "HEX", "UTF-8".
ReadonlychannelThe channel name.
ReadonlydbThe database name.
ReadonlyisWhether the channel is closed.
ReadonlypipeThe pipe name.
ReadonlyschemaThe schema name.
Append a single row into the channel.
The row is an object with keys as column names and values as column values. Supported value types: null, undefined, boolean, number, string, BigInt, Buffer, Uint8Array, Date, Array, and Object.
Row data as column-name to value pairs
OptionaloffsetToken: stringOptional offset token, used to track the ingestion progress and replay ingestion in case of failures
Append multiple rows to the channel.
Each row is an object with keys as column names and values as column values. Supported value types: null, undefined, boolean, number, string, BigInt, Buffer, Uint8Array, Date, Array, and Object.
Array of row objects (column-name to value pairs)
OptionalstartOffsetToken: stringOptional start offset token of the batch
OptionalendOffsetToken: stringOptional end offset token of the batch
Close the channel.
Optionaloptions: { drop?: boolean; timeoutMs?: number; waitForFlush?: boolean }Close options
Optionaldrop?: booleanWhether to drop the channel on the server, defaults to false.
OptionaltimeoutMs?: numberOptional timeout in milliseconds for the flush operation.
OptionalwaitForFlush?: booleanWhether to wait for the flush to complete, defaults to true.
Get the current status of this channel.
Wait for a specific offset token to be committed.
Snowflake commits offset tokens in batches, so the latest committed offset token may jump past the one you are waiting for. The tokenChecker should handle this case by doing a range check (greater than or equal) rather than an exact match.
A callable that receives the latest committed offset token (which may be null) and should return true when the wait condition is satisfied
Optionaloptions: { timeoutMs?: number }Wait options
OptionaltimeoutMs?: numberOptional timeout in milliseconds.
Wait for all buffered data in this channel to be flushed to Snowflake.
Optionaloptions: { timeoutMs?: number }Wait options
OptionaltimeoutMs?: numberOptional timeout in milliseconds.
A channel for streaming data into a Snowflake table.
A channel represents a logical stream of data into a single table through a pipe. Multiple channels can be opened on the same pipe for parallel ingestion. Each channel maintains its own offset token for exactly-once delivery guarantees.
Create instances using
client.openChannel().