2024年の Snowflake CLI リリースノート

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

  • 動作の変更

  • 新機能

  • 顧客向けバグ修正

ドキュメントについては、 Snowflake CLI をご参照ください。

バージョン3.1.0(2024年10月25日)

非推奨

  • snow spcs service status および snow spcs image-repository list-tags コマンドに廃止の警告を追加しました。これらのコマンドは、将来のリリースで削除されます。

新機能および更新

  • 以下のコマンドを追加しました。

    • Snowflake接続用の JWT トークンを生成する snow connection generate-jwt コマンド。

    • サービス内のコンテナーに関する情報をフェッチする snow spcs service list-containers

    • サービス内のインスタンスに関する情報をフェッチする snow spcs service list-instances

    • サービス内のロールに関する情報をフェッチする snow spcs service list-roles

  • サービスの外部アクセス統合の更新をサポートする snow spcs set コマンドに --eai-name オプションを追加しました。

  • snow spcs image-repository list-images コマンドを更新して、画像タグとダイジェストを表示するようにしました。

バグ修正

  • 異なるディレクトリから --project フラグの付いたコマンドを呼び出すと、 deploy_rootbundle_root、および generated_root ディレクトリがプロジェクトルートではなく現在の作業ディレクトリに作成されるバグを修正しました。

  • snow stagesnow git execute コマンド向けに変数を揃えました。Pythonファイルでは、変数の先頭と後続の引用符が取り除かれます。

  • ディレクトリを含むパスで発生していた snow stage list-files の問題を修正しました。

バージョン3.0.2(2024年10月15日)

新機能および更新

バグ修正

  • snow snowpark deploy による文字列のデフォルト値が空だった場合の処理を修正しました。

  • pip コマンドが失敗した場合のエラーの詳細をログに記録するようにしました。

バージョン3.0.1(2024年10月8日)

新機能および更新

  • snowflake-cli-labs PyPi リポジトリを snowflake-cli に移行しました。

    Snowflake CLI をインストールまたはアップグレードするには、以下のようなコマンドを実行します。

    pip install --upgrade snowflake-cli
    
    Copy

    注釈

    既存のスクリプトやアプリケーションを移行する時間が必要な場合を考慮し、 Snowflake CLI では、snowflake-cli-labs リポジトリ名の使用を引き続きサポートします。

バグ修正

  • なし。

バージョン2.8.2(2024年10月8日)

新機能および更新

  • snowflake-cli-labs PyPi リポジトリを snowflake-cli に移行しました。

    Snowflake CLI をインストールまたはアップグレードするには、以下のようなコマンドを実行します。

    pip install --upgrade snowflake-cli
    
    Copy

    注釈

    既存のスクリプトやアプリケーションを移行する時間が必要な場合を考慮し、 Snowflake CLI では、snowflake-cli-labs リポジトリ名の使用を引き続きサポートします。

バグ修正

  • なし。

バージョン3.0.0(2024年10月1日)

BCR (動作変更リリース)の変更

バージョン3.0.0より、 Snowflake CLI には以下の重大な変更点が導入されました。

  • 以下のPythonの変更を実装しました。

    • Pythonの3.10未満のバージョンはサポートされなくなりました。

    • Snowparkの関数とプロシージャのデフォルトのPythonバージョンを3.10に設定します。

  • snow object stage コマンドを snow stage コマンドに置き換えました。

  • snow snowpark init および snow streamlit init コマンドを snow init コマンドに置き換えました。

  • 以前に廃止されたオプションを snow snowpark コマンドから削除しました。

  • 以下のSnowparkコマンドの動作を変更しました。

    • snow snowpark build は、ディレクトリである指定されたアーティファクトごとに .zip ファイルを作成します。Anaconda以外の依存関係は、 dependencies.zip として1回パッケージ化されます。

    • snow snowpark deploy は、ビルドステップ中に作成されたすべてのアーティファクトをアップロードします。 dependencies.zip ファイルは、プロジェクト定義で指定された各Snowparkステージに1回アップロードされます。

    • snow snowpark package コマンドは、利用可能なパッケージ情報のフェッチに失敗しても、Anaconda Channelメタデータにフォールバックしなくなりました。

      注釈

      これらの変更はV1のプロジェクト定義ファイルと互換性がありますが、結果のファイルレイアウトは異なります。

新機能および更新

  • 以下のコマンドを追加しました。

    • 現在のスキーマにおけるジョブサービスの作成と実行をサポートする snow spcs service execute-job

    • ローカルと顧客の Snowflake Native App インストールからログとトレースをフェッチする snow app events

    • snowflake.ymlファイルをバージョン1.xからバージョン2に移行する snow helpers v1-to-v2

  • 以下のサポートを追加しました。

    • Streamlitでの外部アクセス(API 統合およびシークレット)

    • SQL テンプレートでの<% ... %>構文

    • 単一の snowflake.yml プロジェクト定義ファイルにおける複数のStreamlitアプリケーション

  • プロジェクト定義ファイルをバージョン2に更新しました。

バグ修正

  • snow connection add コマンドの空白に関する問題を修正しました。

  • Snowflakeの無効な引用符なし識別子があるバージョン名を使用して snow app version create または snow app version drop コマンドを実行すると発生する、 SQL エラーを修正しました。

  • 接続の追加時に、トークンファイルと秘密キーのパスが正しいかどうかを確認するチェックを追加しました。

  • spcs service name 引数の説明にあるタイプミスを修正しました。これは、 service pool ではなく、 service の識別子です。

  • エラー処理に関する問題を修正し、アーティファクトが提供されない場合のメッセージを改善しました。

  • 互換性のないパラメーターのエラーメッセージを改善しました。

バージョン2.8.1(2024年9月10日)

新機能および更新

  • なし。

バグ修正

  • git execute コマンドでディレクトリ名の大文字が正しく扱われない問題を修正しました。

  • snow git setup で完全修飾されたリポジトリ名が正しく扱われない問題を修正しました。

  • snow git setup コマンドで、 API の統合やデフォルト名のシークレットがすでに存在する場合の動作を修正しました。

  • snow snowpark package create コマンドで、パッケージ名に大文字が含まれている場合に空のzipファイルが作成される問題を修正しました。

バージョン2.8.0(2024年8月28日)

非推奨

  • プロジェクト定義ファイルの native_app.package.scripts プロパティに廃止の警告を追加しました。

新機能および更新

  • テンプレートにおけるプロジェクト定義ファイルのデフォルトのサポートを追加しました。

  • プロジェクト定義ファイルに native_app.package.post_deploy スクリプトのサポートを追加しました。

    • これらのスクリプトは、 Snowflake Native App パッケージが作成または更新されたときに実行されます。

    • 現在 Snowflake REST APIs は、 SQL スクリプト post_deploy: [{sql_script: script.sql}] のみをサポートしています。

バグ修正

  • snow snowpark listsnow snowpark describesnow snowpark drop コマンドの戻り値が無効であった問題を修正しました。

  • snow app run コマンドがSnowflakeから返された警告を表示するようになりました。

バージョン2.7.0(2024年8月2日)

非推奨

  • snow snowpark initsnow streamlit init コマンドは、廃止としてマークされています。コマンドはまだ機能しますが、代わりに、新しい snow init コマンドを使用するようにしてください。

新機能および更新

  • ファイルを使用した OAuth トークンの受け渡しをサポートする snow connection add コマンドに --token-file-path オプションを追加しました。この関数は、 config.toml ファイルの接続定義に token_file_path パラメーターを設定することでもサポートされます。

  • 既存の EXECUTE IMMEDIATE サポートと同様に、 snow stage executesnow git execute を使用したPythonリモート実行のサポートを追加しました。

  • snow connection add --connection オプションにオートコンプリート機能のサポートを追加しました。

  • 外部テンプレートによるプロジェクトの初期化をサポートする snow init コマンドを追加しました。

  • stage executestage execute copy コマンドのユーザーステージのサポートを追加しました。

  • Snowparkコマンドでの引用符で囲まれた識別子のサポートが改善されました。

  • snow app run コマンドで、バージョン管理モードまたはリリースモードのアプリケーションインストールからバージョン管理外モードへのアップグレードが可能になりました。

  • snow app teardown コマンドで、 --force フラグがある場合に、バージョンを指定してパッケージをドロップできるようになりました。

  • snow app version create コマンドにより、 Snowflake CLI の外部で作成されたアプリケーションパッケージを操作できるようになりました。

  • アプリケーションデータベースをデフォルトとして使用できるように、 application.post_deploy SQL スクリプトを更新しました。

  • Snowflake CLI は、Snowsight URLs を生成する際にリージョンレスのホストをサポートするようになりました。

  • snow app runsnow app deploy コマンドは、 AWS S3にアップロードされた大型ファイルの変更ステータスを正しく判断するようになりました。

バグ修正

  • ステージストレージのバックエンドから返される NULL md5値を正しく処理します。

バージョン2.6.1(2024年7月15日)

新機能および更新

  • なし。

バグ修正

  • 接続のデータベースが定義されていない場合に snow object create を実行すると返されるエラーメッセージを明確にしました。

  • save_logsfalse でログディレクトリが存在しない場合に Snowflake CLI がクラッシュする問題を修正しました。

バージョン2.6.0(2024年7月11日)

新機能および更新

  • snow object create コマンドを追加しました。

  • snowflake.yml プロジェクトファイル内のStreamlit定義に title フィールドのサポートを追加しました。

  • アップロード時にファイルをgzip圧縮できるように、 snow stage copy コマンドに --auto-compress フラグを追加しました。

  • snow app run を介してアプリケーションが展開された後にアクションを実行するために、新しい native_app.application.post_deploy セクションを snowflake.yml スキーマに追加しました。

    • SQL スクリプトをテンプレートサポートで実行するために、 sql_script フックタイプを追加しました。

  • テンプレート化用に --env コマンドライン引数のサポートを追加しました。

    • プロジェクト定義ファイルを使用するコマンドで利用できます。

    • 引数のフォーマット: --env key1=value1 --env key2=value2

    • テンプレート化で使用すると、環境変数の値を上書きします。

    • ctx.env.<key_name> を介してテンプレート化するときに参照できます。

    • テンプレート化では、以下の優先順位で環境変数を読み込みます(優先順位の高いものから低いもの順)。

      • --env コマンドライン引数からの変数。

      • シェル環境変数からの変数。

      • プロジェクト定義ファイルの env セクションからの変数。

  • snow sql コマンドは、実行前にクエリテキストを表示するようになりました。

バグ修正

  • snow app deploy にディレクトリを渡すと、アプリケーションのアーティファクトルールに含まれるすべてのファイル、またはそのルールに指定されたサブフォルダーが展開されるようになりました。

  • snow sql で、マークアップのようなエスケープタグを意図せずに使用した場合に発生する、マークアップエスケープエラーを修正しました。

  • snow app teardown が、孤立したアプリケーション(パッケージがドロップされたアプリケーション)をティアダウンしない問題を修正しました。

  • アプリケーションが Snowflake CLI によって作成されていない場合、 snow app teardown が孤児アプリケーションを残してしまうことがあった問題を修正しました。

  • アプリケーションのドロップと再作成を促すメッセージによりドロップされたパッケージのある既存のアプリケーションが、 snow app run による実行に失敗する場合があった問題を修正しました。

  • ASCII エスケープコードを回避するために、ターミナル出力のサニタイズを改善しました。

  • snow app コマンドのステージ差分出力を改善しました。

  • snow app validate 出力からの冗長な差分を非表示にしました。

  • 外部プラグインを読み込んだファイルにログ情報を追加しました。

  • ユーザーがプロジェクト定義バージョン1でテンプレート化を使用しようとした場合の警告を追加しました。

  • Pydanticの検証エラーの出力と形式を改善しました。

  • Streamlitコマンドにある引用符で囲まれた識別子のサポートが改善されました。

  • snow app run コマンドは、 snowflake.yml で明示的に設定しない限り、アプリケーションのアップグレード中にデバッグモードを上書きしなくなりました。

バージョン2.5.0(2024年6月20日)

新機能および更新

  • 以下の Snowflake Native App 機能を追加しました。

    • Snowflake Native Appの作成の一環として、ステージにアップロードするアーティファクトをプロジェクトディレクトリのローカルフォルダーに準備する、 snow app bundle コマンドを追加しました。

      Snowflake Native App プロジェクトでは、デコレーター(@sproc@udf など)を含むSnowpark Pythonコードからのセットアップスクリプトにある CREATE FUNCTION と CREATE PROCEDURE 宣言をオプションで生成することができます。

    • 有効な構文、無効なオブジェクト参照、およびベストプラクティス向けに、Snowflake Native Appのセットアップスクリプトの SQL を検証する snow app validate コマンドを追加しました。

      • snowflake.yml スキーマに新しいフィールド native_app.scratch_stage を追加して、 Snowflake CLI が検証の実行で使用するステージをカスタマイズできるようにしました。

    • snow app deploysnow app run コマンドを変更して、セットアップスクリプト SQL の自動検証をトリガーし、検証に失敗した場合はアップロードを停止するようにしました。ユーザーは、各コマンドの --no-validate パラメーターを有効にすると、この確認を上書きすることができます。

    • snow app version create --patch コマンドが整数のパッチ番号を要求するように変更して、Snowflakeが期待するものと一致させました。

  • Notebooksをサポートするために、以下のコマンドを追加しました。

    • snow notebook execute により、Snowflake Notebookのヘッドレス実行が有効になります。

    • snow notebook create により、ステージ上のファイルからSnowflake Notebooksを作成します。

  • プロジェクト定義ファイルのテンプレート化サポートを追加しました。テンプレート変数がプロジェクト定義ファイルのいずれにおいても使えるようになりました。

  • デフォルトの接続を指定できるように、 snow connection add コマンドに --default パラメーターを追加しました。

バグ修正

  • 不適切にフォーマットされた config.toml ファイルのエラー処理を修正しました。

  • snowflake のような暗黙的な名前空間パッケージを含むSnowparkプロジェクトの依存関係の ZIP パッケージ化を修正しました。

  • --replace パラメーターを使用して関数またはプロシージャを展開すると、すべての付与がコピーされるようになりました。

  • MFA のキャッシュを修正しました。

  • 無効なエスケープシーケンスに起因する DeprerationWarningSyntaxWarning の問題を修正しました。

  • Dockerがインストールされていない場合の snow spcs image-registry login でのエラーメッセージを改善しました。

  • Snowflake Native App プロジェクトのアーティファクトルール間の競合検出を改善しました。

  • 空白を含む引用符で囲まれた識別子を使用するアプリケーション、Streamlit、Notebooksの URL 生成を修正しました。

バージョン2.4.1(2024年6月12日)

新機能および更新

  • なし。

バグ修正

  • MFA キャッシュと GCP 展開に関する問題を修正しました。

バージョン2.4.0(2024年5月31日)

新機能および更新

  • snow app teardown コマンドに、アプリケーションが所有するすべてのアプリケーションオブジェクトを自動的にドロップする --cascade オプションを追加しました。

  • snow object コマンドに外部アクセス統合を追加しました。

  • snow object listdescribedrop コマンドに以下のエイリアスを追加しました。

    • ステージ用 snow stage

    • gitリポジトリステージ用 snow git

    • Streamlitアプリ用 snow streamlit

    • Snowpark Pythonプロシージャと関数用 snow snowpark

    • コンピューティングプール用 snow spcs compute-pool

    • イメージリポジトリ用 snow spcs image-repository

    • サービス用 snow spcs service

  • snow sql コマンドに以下のサポートを追加しました。

    • snowflake.yml ファイルを操作します。 snowflake.yml の新しい env セクションで定義された変数は、テンプレートの拡張に使用できます。

    • 複数の -f/--file オプションを指定することで、複数のファイルからクエリを実行できるようになります。

  • snow git execute および snow stage execute コマンドに入力変数を渡すサポートを追加しました。

  • Snowflake AI と ML をサポートするため、以下の snow cortex コマンドを追加しました。

    • complete: 選択した言語モデルを使用して、質問に対する応答を生成します。

    • extract-answer: テキストドキュメントから指定された質問に対する回答を抽出します。

    • sentiment: 指定された英語の入力テキストに対する感情スコアを返します。

    • summarize: 指定された英語の入力テキストを要約します。

    • translate: 指示または検出されたソース言語からターゲット言語にテキストを翻訳します。

  • snow コマンドにタブコンプリートを追加しました。

  • 以下の改善を追加しました。

    • 引数やオプションを指定せずに snow コマンドを実行すると、(snow --help のように)コマンドラインヘルプが自動的に表示されるようになりました。

    • 引用符で囲まれた識別子のサポートが改善されました。

バグ修正

  • 1つのバージョンに2つ以上のパッチが存在する場合に、 snow app version create でパッチを作成する際の問題を修正しました。

  • 出力の最後に改行がないことを示すために、一部の端末で % が追加されるのを避けるため、 --format=json を使用する場合に後続の改行を追加しました。

  • 対話型環境でデフォルトで --interactive オプションを有効にし、プロンプトを無効にする --no-interactive オプションを追加しました。

バージョン2.3.1(2024年5月20日)

新機能および更新

  • なし。

バグ修正

  • Snowflake Native Appsのソースアーティファクトマッピングロジックのバグを修正しました。

バージョン2.3.0(2024年5月15日)

新機能および更新

  • snow command に、構成された機能フラグを表示するための --info オプションを追加しました。

  • snow sql コマンドに -D/--variable オプションを追加し、 SQL 入力での変数置換をサポートしました(クライアント側クエリテンプレート化)。

  • snow stage および snow git execute コマンドにおいて、完全修飾ステージ名のサポートを追加しました。

  • snow app deploy <some-file> <some-dir> コマンドの引数にファイルとディレクトリを指定する機能を追加しました。

  • snow app deploy コマンドに新しいオプションを追加しました。

    • すべてのファイルとサブディレクトリを再帰的に同期する --recursive

    • ローカルに存在しない場合に、ステージから指定されたファイルを削除する --prune

  • Snowparkプロジェクトの .zip のアーティファクトのサイズとAnacondaの依存関係の数を減らすために、Snowpark の依存関係の検索を最適化しました。

  • 破損した config.toml ファイルのエラーメッセージを改善しました。

バグ修正

  • snow app コマンドでファイルが不必要に再アップロードされる問題を修正しました。

  • ローカルの状態とリモートのステージが同一である場合に、 snow app run コマンドがアプリケーションをアップグレードしない問題を修正しました。

  • Windowsでのステージパットセパレータの処理に関する問題を修正しました。

バージョン2.2.0(2024年4月25日)

廃止された機能

注釈

SnowflakeがSnowflake CLI 3.0.0をリリースする時に、以下の機能はこのバージョンで廃止され、削除される予定です。これらの廃止された機能を使用している既存のスクリプトの更新をご検討ください。

  • codenowrap:snow snowpark package lookup コマンドは、 PyPi との照合を行わなくなりました。 --pypi-download または --yes を使用しても何の効果もなく、警告の原因となります。同コマンドは、パッケージがSnowflake Anacondaチャンネルで利用可能かどうかだけをチェックするようになりました。

  • snow snowpark package create の変更:

    • --pypi-download または --yes オプションは廃止され、何の効果もなく、警告の原因となります。同コマンドは、常に PyPi との照合を行うようになりました。

    • --allow-native-libraries オプションは廃止され、ブール値の:codenowrap:--allow-shared-libraries オプションに置き換わりました。廃止されたオプションを使用すると警告の原因となります。

  • snow snowpark build の変更:

    • --pypi-download オプションは廃止され、何の効果もなく、警告の原因となります。同コマンドは、常に PyPi との照合を行うようになりました。

    • --check-anaconda-for-pypi-depts オプションは廃止され、警告の原因となります。代わりに --ignore-anaconda オプションを使用してください。

    • --package-native-libraries オプションは廃止され、警告の原因となります。代わりに:codenowrap:--allow-shared-libraries オプションを使用してください。

  • snow object stage コマンドは廃止され、警告の原因となります。これらのコマンドは、snow stage コマンドに置き換えられます。snow object stage コマンドを使用する既存のスクリプトを移行することを検討してください。

新機能および更新

  • Streamlitプロジェクト定義 name パラメーターに、完全修飾名(database.schema.name)のサポートを追加しました。

  • spcs image-repository コマンドで完全修飾イメージリポジトリ名のサポートを追加しました。

  • snow spcs service create および:codenowrap:snow spcs compute-pool create コマンドに --if-not-exists option オプションを追加しました。

  • snow spcs image-repository create コマンドに --replace および --if-not-exists オプションを追加しました。

  • Python診断レポート用にSnowflake Connector のサポートを追加しました。

  • snow app deploy コマンドを追加しました。このコマンドは、アプリケーションパッケージを作成し、アプリケーションを作成または更新することなく、ローカルの変更をステージに同期します。

  • デフォルトの接続をハイライトするために、snow connection list 出力に is_default 列を追加しました。

  • snow snowpark package create コマンドを更新しました。

    • Snowflake Anacondaチャンネルでパッケージ検索を無効にする --ignore-anaconda オプションを追加したため、依存関係は PyPi からダウンロードされるようになりました。

    • 要件とAnaconda間の依存関係のバージョン比較をスキップする --skip-version-check オプションを追加しました。

    • パッケージ検索に使用するPythonパッケージインデックスのベース URL を設定する --index-url オプションを追加しました。

  • snow snowpark build コマンドを更新しました。

    • 要件とAnaconda間の依存関係のバージョン比較をスキップする --skip-version-check オプションを追加しました。

    • パッケージ検索に使用する Python パッケージインデックスのベース URL を設定する --index-url オプションが追加されました。

  • snow stage copy コマンドに --recursive オプションを追加し、ステージからのコピー時にローカルでディレクトリ構造を再現できるようにしました。

  • 以下の:codenowrap:snow git コマンドを追加し、SnowflakeでGitリポジトリをサポートするようになりました。

    • snow git setup: Gitリポジトリステージを設定し、必要なオブジェクトをすべて作成します。

    • snow git fetch: 元のリポジトリからSnowflakeリポジトリに最新の変更をフェッチします。

    • snow git list-branches: リポジトリ内のすべてのブランチを一覧表示します。

    • snow git list-tags: リポジトリ内のすべてのタグを一覧表示します。

    • snow git list-files: 指定したブランチ、タグ、コミット上のすべてのファイルを一覧表示します。

    • snow git copy: 指定したブランチ、タグ、コミットからステージやローカルディレクトリにファイルをコピーします。

    • snow git execute: リポジトリ内のファイルに対して SQL EXECUTE IMMEDIATE コマンドを実行します。

  • ステージパスから SQL EXECUTE IMMEDIATE コマンドを実行する:codenowrap:snow stage execute コマンドを追加しました。

  • snow stage list-files コマンドに --pattern オプションを追加し、正規表現による結果のフィルタリングをサポートするようになりました。

  • snow snowpark コマンドの:codenowrap:pip でサポートされるすべてのソースに対するサポートを追加しました。

  • 旧メソッドへのフォールバックを使い、Anacondaから直接ではなく、Snowflakeから利用可能なパッケージリストをフェッチする機能を追加しました(後方互換性のため)。新しいアプローチではSnowflakeへの接続が必要なため、以下のコマンドに接続オプションが追加されます。

    • snow snowpark build

    • snow snowpark package lookup

    • snow snowpark package create

バグ修正

  • 他のコマンドとの一貫性を保つため、spcs image-repository list-tags コマンドのイメージ名引数に --image-name オプションを追加しました。

  • spcs image-registry login エラーが正しくフォーマットされない問題を修正しました。

  • プロジェクト定義が余分なフィールドを受け付けなくなりました。余分なフィールドがあるとエラーの原因になります。

  • --project オプションを使用したビルドで、Snowpark のビルドパスのzipファイルが空になっていた問題を修正しました。

  • snow snowpark build コマンドのエラーメッセージを改善しました。

  • Snowflake Anacondaチャンネルでのパッケージ検索のバージョン解析を修正しました。

  • ダッシュを含むデータベース、スキーマ、およびロールの識別子の処理に関する問題を修正しました。

  • snow connection test コマンドのスキーマ上書きのバグを修正しました。

  • Windows OSes の問題により、Windowsシステムで構成ファイル権限が広すぎる場合、 Snowflake CLI は警告を表示しません。

  • ロール、ウェアハウス、またはデータベースが存在しない場合の:codenowrap:snow connection test エラーメッセージを改善しました。

バージョン2.1.2(2024年3月27日)

新機能および更新

  • Snowflake CLI の依存関係として pip を追加しました。

  • snow connection test コマンドを最適化しました。

バグ修正

  • snow snowpark package create および snow snowpark build コマンドで仮想環境を作成する際の問題を修正しました。

バージョン2.1.1(2024年3月20日)

新機能および更新

  • 初回公開リリース。

バグ修正

  • なし。