2022年の Snowflake Connector for Python リリースノート

この記事には、 Snowflake Connector for Python のリリースノートが含まれています。また、該当する場合は以下が含まれます。

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

Snowflake は、 Snowflake Connector for Python の更新にセマンティックバージョニングを使用します。

バージョン2.9.0(2022年12月14日)

新機能および更新

  • ユーザーがカスタムキーペア認証方式をプラグインできるように、認証内部を再構築しました。

  • 複数ステートメントのクエリ実行が、 cursor.execute および cursor.executemany でサポートされるようになりました。

    • Snowflakeパラメーター MULTI_STATEMENT_COUNT は、アカウント、セッション、またはステートメントレベルで変更できます。ステートメントレベルでこのパラメーターを使用するには、実行時に追加の引数 num_statements を指定します。これを executemany に提供し、メソッドで複数ステートメントのクエリを送信する必要があります。複数ステートメントのクエリを送信する場合は、 executemany で利用可能な一括挿入の最適化は利用できないことに注意してください。

      • デフォルトでは、パラメーターは1です。つまり、一度に送信できるクエリは1つのみです。

      • 複数ステートメントのクエリで任意の数のステートメントを送信するには0を設定します。

      • 複数ステートメントのクエリで指定された正確な数のステートメントを送信するには、>1に設定します。

      • バインドは複数ステートメントでも単一ステートメントのクエリと同じように受け付けられます。

  • 複数ステートメントの非同期クエリ実行がサポートされています。結果を取得するには、引き続き get_results_from_sfqid を使用する必要があります。

  • 各クエリの結果にアクセスするには、ユーザーは DB 2.0 API (PEP-249)で指定されているように、 call SnowflakeCursor.nextset() を使用し、各ステートメントの結果をとおして反復します。

    • 最初のステートメントの結果は、実行(非同期の場合は get_results_from_sfqid)を呼び出した直後に、既存の fetch*() メソッドからアクセスできます。

バグ修正

  • GET コマンドでダウンロードしたファイルの権限が変更されるバグを修正しました。

バージョン2.8.3(2022年11月28日)

新機能および更新

  • 暗号の依存関係を<39.0.0から<41.0.0に変更しました。

バグ修正

  • 期限切れの OCSP 対応キャッシュがキャッシュのロード時に無限再帰を引き起こすバグを修正しました。

バージョン2.8.2(2022年11月18日)

新機能および更新

  • OCSP 対応キャッシュのパフォーマンスが向上しました。

  • GET コマンドの実行中に、ローカルマシン上のターゲットロケーションを解決することがなくなりました。

  • PUT/GET SQL ステートメントの検出に使用される正規表現のパフォーマンスが向上しました。

バージョン2.8.1(2022年10月28日)

新機能および更新

  • 暗号の依存関係を<37.0.0から<39.0.0に変更しました。

  • 接続を閉じる際の非同期クエリステータスチェックが並列化されるようになりました。

バグ修正

  • write_pandas が空の DataFrame をSnowflakeに書き込まない問題を修正しました。

バージョン2.8.0(2022年9月27日)

バグ修正

  • 空の結果で fetch_pandas()fetch_arrow() を呼び出したときの dtypes の欠落を修正しました。

  • カーソルを閉じたときに rowcount が削除されるバグを修正しました。

  • extTypeName が空でも使用されるバグを修正しました。

  • テレメトリエントリの構築方法を更新しました。

  • ランタイム中にインポートされたルートパッケージのテレメトリを追加しました。

  • write_pandas を使用するためのテレメトリを追加しました。

  • write_pandas 関数は、 DataFrame.to_parquet で使用する追加引数の提供をサポートするようになりました。

  • write_pandas のすべてのオプションパラメーターを pd_writermake_pd_writer に提供して、 DataFrame.to_sql で使用できるようになりました。

バージョン2.7.12(2022年8月24日)

新機能および更新

  • OCSP 対応キャッシュにファイル内キャッシュを追加しました。

  • OKTA Identity Engineのサポートを追加しました。

  • create_temp_table 引数に代わる新しい引数 table_type により、 write_pandas 関数は一時テーブルをサポートするようになりました。

バグ修正

  • pandas.DataFrame または pyarrow.Table として取得されたタイムスタンプが、不必要な精度のためにオーバーフローするバグを修正しました。オーバーフローを防止できない場合は、明確なエラーが発生するようになりました。

  • 非同期クエリ実行後に fetch_pandas_batches を呼び出すと、 NotSupportedError が不正に発生するバグを修正しました。

バージョン2.7.11(2022年7月28日)

バグ修正

  • typing_extensions に最小バージョンのピンを追加しました。

バージョン2.7.10(2022年7月25日)

新機能および更新

  • OCSP リクエストにメモリ内キャッシュを追加しました。

  • write_pandas に上書きオプションを追加しました。

  • PEP-249に従い、 SnowflakeCursorlastrowid 属性を追加しました。

  • 新しい接続診断機能を追加しました。

  • 以下のライブラリとリソースを更新しました。

    • pyarrowのバージョンを8.0.Xまでサポートしました。

    • Vendoredライブラリのバージョンリクエストを2.28.1に、またurllib3を1.26.10に。

    • numby依存バージョンを1.23.0から1.24.0までサポートしました。

バグ修正

  • gzip圧縮 HTTP リクエストがフラッシュされていないバッファーによって文字化けすることがある問題を修正しました。

バージョン2.7.5(2022年3月18日)

動作変更

  • Python 3.6のサポートを廃止しました。

新機能

  • 環境変数(SF_PARTNER)を介してパートナーの名前を注入するオプションを追加しました。

バグ修正

  • SSO ログインのためにブラウザーウィンドウを開くことができない場合に入力を待たないバグを修正しました。

  • SnowflakeConnection の型定義をエクスポートしました。

  • fetch_pandas_all を使用した場合に、最終的なArrowテーブルに重複したインデックス番号が含まれるバグを修正しました。

バージョン2.7.3(2022年1月18日)

バグ修正

  • パッケージのメタデータを setup.py から setup.cfg に移動しました。

  • TimezoneTimestamp_TZ に追加しました。

  • ストレージ認証情報に関連するエラーを修正しました。

  • py.typedがホイールに含まれていなかった問題を修正しました。

  • arrow_number_to_decimal を使用すると負の数が正しく変換されない問題を修正しました。

  • GET を使用する際に、空のファイルの処理を追加しました。

  • PyPi の長い説明のレンダリングを修正しました。

  • SMS が存在しない場合の DUO のエラー処理を追加しました。

  • pandas DataFrame をSnowflakeテーブルに記述する際に、テーブルを自動作成する機能を追加しました。

  • numpyの要件を<1.22.0から<1.23.0に更新しました。

  • CODEOWNERS ファイルを更新しました。