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_root
、bundle_root
、およびgenerated_root
ディレクトリがプロジェクトルートではなく現在の作業ディレクトリに作成されるバグを修正しました。snow stage
とsnow 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
注釈
既存のスクリプトやアプリケーションを移行する時間が必要な場合を考慮し、 Snowflake CLI では、
snowflake-cli-labs
リポジトリ名の使用を引き続きサポートします。
バグ修正¶
なし。
バージョン2.8.2(2024年10月8日)¶
新機能および更新¶
snowflake-cli-labs
PyPi リポジトリをsnowflake-cli
に移行しました。Snowflake CLI をインストールまたはアップグレードするには、以下のようなコマンドを実行します。
pip install --upgrade snowflake-cli
注釈
既存のスクリプトやアプリケーションを移行する時間が必要な場合を考慮し、 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 list
、snow snowpark describe
、snow snowpark drop
コマンドの戻り値が無効であった問題を修正しました。snow app run
コマンドがSnowflakeから返された警告を表示するようになりました。
バージョン2.7.0(2024年8月2日)¶
非推奨¶
snow snowpark init
とsnow streamlit init
コマンドは、廃止としてマークされています。コマンドはまだ機能しますが、代わりに、新しいsnow init
コマンドを使用するようにしてください。
新機能および更新¶
ファイルを使用した OAuth トークンの受け渡しをサポートする
snow connection add
コマンドに--token-file-path
オプションを追加しました。この関数は、config.toml
ファイルの接続定義にtoken_file_path
パラメーターを設定することでもサポートされます。既存の EXECUTE IMMEDIATE サポートと同様に、
snow stage execute
とsnow git execute
を使用したPythonリモート実行のサポートを追加しました。snow connection add --connection
オプションにオートコンプリート機能のサポートを追加しました。外部テンプレートによるプロジェクトの初期化をサポートする
snow init
コマンドを追加しました。stage execute
とstage 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 run
とsnow app deploy
コマンドは、 AWS S3にアップロードされた大型ファイルの変更ステータスを正しく判断するようになりました。
バグ修正¶
ステージストレージのバックエンドから返される NULL md5値を正しく処理します。
バージョン2.6.1(2024年7月15日)¶
新機能および更新¶
なし。
バグ修正¶
接続のデータベースが定義されていない場合に
snow object create
を実行すると返されるエラーメッセージを明確にしました。save_logs
がfalse
でログディレクトリが存在しない場合に 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 deploy
とsnow 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 のキャッシュを修正しました。
無効なエスケープシーケンスに起因する
DeprerationWarning
とSyntaxWarning
の問題を修正しました。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
list
、describe
、drop
コマンドに以下のエイリアスを追加しました。ステージ用
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日)¶
新機能および更新¶
初回公開リリース。
バグ修正¶
なし。