クラシック SDK とハイパフォーマンス SDK の比較

以下にクラシック SDK からハイパフォーマンス SDK の違いを示します。

  • OpenClient: 新しいバージョンには、 DBSCHEMAPIPE を指定する必要があります。以前は NAME を指定するだけでした。

  • OpenChannel:

    • 新しいバージョンのチャンネル名を指定するだけです。以前は、 DBSCHEMATABLEERROR_OPTION を指定する必要がありました。

    • 新しいバージョンでは、チャンネルがオープンされると、 channelStatus とチャンネル・エンティティの両方を含む OpenChannelResult が返されます。レガシーバージョンと比較して、Snowflakeに別の RPC を呼び出して最後のコミットトークンを取得する必要はありません。

  • InsertRowsAppendRows にリネームされます。

  • CloseChannel: Snowpipe Streamingは以前、トークンが完全にコミットされるのを待つために非同期コールを行い、ユーザーが結果を取得できるようにフューチャーオブジェクトを返していました。新しいバージョンではサポートされていません。

  • GetLatestCommittedOffsetTokens: これは、このクライアントによってオープンされたチャンネルの最新のオフセットトークンを取得するためのバッチ API、クラシック SDK の部分的な失敗を許可しません。新しい SDK では、クライアントによってオープンされていない最新のオフセット・トークンをフェッチすることが許可され、この API では部分的な失敗も許可されます。

  • isValid は新しいバージョンでは削除されています。

以下のテーブルは、クラシック SDK とハイパフォーマンス SDK の API の違いを示しています。

SnowflakeStreamingIngestClientFactory および .BuilderSnowflakeStreamingIngestClientFactory

クラシック

ハイパフォーマンス

注意

builder(String name)

builder(String clientName, String dbName, String schemaName, String pipeName)

なお、クラシックバージョンの name =ハイパフォーマンスバージョンの clientName であることに注意してください。

SnowflakeStreamingIngestClient

クラシック

ハイパフォーマンス

注意

String getName()

String getClientName()

API 名の変更のみで、同じ情報が返されます。

N/A

String getDBName()

新規 API.

N/A

String getPipeName()

新規 API.

N/A

String getSchemaName()

新規 API.

SnowflakeStreamingIngestChannel openChannel (OpenChannelRequest リクエスト)

OpenChannelResult openChannel(文字列 channelName, String offsetToken)

リクエストの引数と返り値が異なります。

Map<文字列,文字列> getLatestCommittedOffsetTokens (List<SnowflakeStreamingIngestChannel> channels)

Map<文字列、文字列> getLatestCommittedOffsetTokens (List<文字列> channelNames)

リクエストの引数が異なります。他のクライアントによってオープンされ、潜在的にクライアントに属していないチャンネルのステータスを取得できるようになりました。

N/A

ChannelStatusBatch getChannelStatuses(List<文字列> channelNames)

新規 API.

Void dropChannel(DropChannelRequest request)

Void dropChannel(String channelName)

リクエストの引数が違います。

Void setRefreshToken(String refreshToken)

N/A

OAuth のみ必要です。

SnowflakeStreamingIngestChannel

クラシック

ハイパフォーマンス

注意

InsertValidationResponse insertRow(Map<文字列, オブジェクト> row, String offsetToken)

AppendResult appendRow(Map<文字列, オブジェクト> row, String offsetToken)

API 名が変わりました。クライアントでのバリデーションがなくなったため、レスポンスタイプが変更されました。

InsertValidationResponse insertRow(Iterable<マップ<文字列, オブジェクト>> row, String startOffsetToken, String endOffsetToken)

AppendResult appendRows(Iterable<マップ<文字列, オブジェクト>> row, String startOffsetToken, String endOffsetToken)

クライアントでのバリデーションがなくなったため、レスポンスタイプが変更されました。

InsertValidationResponse insertRow(Iterable<マップ<文字列, オブジェクト>> row, String offsetToken)

N/A

削除済み。

String getTableName()

N/A

削除済み。

String getFullyQualifiedTableName()

N/A

削除済み。

N/A

String getPipeName()

新規 API.

N/A

String getFullyQualifiedPipeName()

新規 API.

String getName()

String getChannelName()

API 名変更

String getFullyQualifiedName()

String getFullyQualifiedChannelName()

API 名変更

Map<文字列、 ColumnProperties> getTableSchema()

N/A

削除済み。

N/A

ChannelStatus getChannelStatus()

新規 API.

CompletableFuture<無効> close()

Void close()

戻り値のタイプは変わりましたが、動作は同じです。

CompletableFuture<無効> close(boolean drop)

Void drop()

API 名が変更されていますが、動作は同じです。

Boolean isValid()

N/A

削除済み。