Interface SnowflakeStreamingIngestElasticChannel


public interface SnowflakeStreamingIngestElasticChannel
Elastic channel for Snowflake Streaming Ingest. Unlike regular channels, elastic channels have no offset token concepts and their lifecycle is tied to the client (no close method). The same instance is returned on repeated calls to SnowflakeStreamingIngestClient.getElasticChannel().
  • Method Details

    • appendRow

      CompletableFuture<Void> appendRow(@Nonnull Map<String,Object> row)
      Insert one row into the elastic channel. The returned future completes when Snowflake acknowledges the row.
      Parameters:
      row - the row data to insert
      Returns:
      a future that completes when the row is acknowledged by Snowflake
    • appendRows

      CompletableFuture<Void> appendRows(@Nonnull Iterable<Map<String,Object>> rows)
      Insert a batch of rows into the elastic channel. The returned future completes when Snowflake acknowledges the batch.
      Parameters:
      rows - the rows to insert
      Returns:
      a future that completes when the rows are acknowledged by Snowflake
    • initiateFlush

      void initiateFlush()
      Initiates a flush of all buffered data in this channel without waiting for completion.
    • getChannelStatus

      ChannelStatus getChannelStatus()
      Get the channel status from Snowflake.
      Returns:
      the channel status
    • isClosed

      boolean isClosed()
      Check if the elastic channel is closed (because the client was closed).
      Returns:
      true if the channel is closed
    • getChannelName

      String getChannelName()
      Get the channel name (always "ELASTIC").
      Returns:
      the channel name
    • getDBName

      String getDBName()
      Get the database name.
      Returns:
      name of the database
    • getSchemaName

      String getSchemaName()
      Get the schema name.
      Returns:
      name of the schema
    • getPipeName

      String getPipeName()
      Get the pipe name.
      Returns:
      name of the pipe
    • getFullyQualifiedPipeName

      String getFullyQualifiedPipeName()
      Get the fully qualified pipe name.
      Returns:
      fully qualified pipe name
    • getFullyQualifiedChannelName

      String getFullyQualifiedChannelName()
      Get the fully qualified channel name.
      Returns:
      fully qualified channel name