クラシック SDK とハイパフォーマンス SDK の比較¶
以下にクラシック SDK からハイパフォーマンス SDK の違いを示します。
OpenClient
: 新しいバージョンには、DB
、SCHEMA
、PIPE
を指定する必要があります。以前はNAME
を指定するだけでした。OpenChannel
:新しいバージョンのチャンネル名を指定するだけです。以前は、
DB
、SCHEMA
、TABLE
、ERROR_OPTION
を指定する必要がありました。新しいバージョンでは、チャンネルがオープンされると、
channelStatus
とチャンネル・エンティティの両方を含むOpenChannelResult
が返されます。レガシーバージョンと比較して、Snowflakeに別の RPC を呼び出して最後のコミットトークンを取得する必要はありません。
InsertRows
はAppendRows
にリネームされます。CloseChannel
: Snowpipe Streamingは以前、トークンが完全にコミットされるのを待つために非同期コールを行い、ユーザーが結果を取得できるようにフューチャーオブジェクトを返していました。新しいバージョンではサポートされていません。GetLatestCommittedOffsetTokens
: これは、このクライアントによってオープンされたチャンネルの最新のオフセットトークンを取得するためのバッチ API、クラシック SDK の部分的な失敗を許可しません。新しい SDK では、クライアントによってオープンされていない最新のオフセット・トークンをフェッチすることが許可され、この API では部分的な失敗も許可されます。isValid
は新しいバージョンでは削除されています。
以下のテーブルは、クラシック SDK とハイパフォーマンス SDK の API の違いを示しています。
SnowflakeStreamingIngestClientFactory および .BuilderSnowflakeStreamingIngestClientFactory
クラシック |
ハイパフォーマンス |
注意 |
---|---|---|
|
|
なお、クラシックバージョンの |
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
削除済み。