アプリケーションパッケージの検証¶
前提条件¶
config.tomlファイルに既存の接続が必要です。Snowflake Native App プロジェクトに
snowflake.ymlファイルが必要です。
Snowflake CLI は、アプリケーションを実行(snow app run)またはデプロイ(snow app deploy)すると、 SQL EXECUTE IMMEDIATE ステートメントを使用してインクルードされた他の SQL ファイルとともに、 Snowflake Native App セットアップスクリプトを自動的に検証します。このスクリプトは、いずれかのコマンドによって最近アップロードされたスクリプトを使用します。SQL 構文エラー、無効なオブジェクト参照、ベストプラクティスをチェックします。スクリプトの検証が失敗した場合、実行されたコマンドは中止されるが、ステージングされたファイルは自動的にロールバックされません。
Snowflake Native App セットアップスクリプトの詳細については、Snowflake Native App Framework ドキュメントの Create the setup script をご参照ください。
セットアップスクリプトを手動で検証する方法¶
アプリケーションをデプロイする前にセットアップ スクリプトを検証して、デプロイ プロセス中に検証に失敗した場合に発生する可能性のある影響を回避したい場合があります。 snow app validate コマンドは、アプリケーションを実行またはデプロイすることなく、セットアップスクリプトを検証します。これは、アプリケーションのソース・ステージにあるファイルを邪魔しないように、コマンド完了後に自動的にドロップされる別のスクラッチ・ステージにソース・ファイルをアップロードします。
必要に応じて、 接続を作成します。
次のように、プロジェクト内から
snow app validateコマンドを実行します。成功すると、コマンドは次のメッセージを返します。
検証に失敗すると、エラーメッセージとともに以下のエラーメッセージが表示されます。
JSON のような生の検証出力を見たい場合は、図のように:codenowrap:snow app validate --format json を実行します。
条件:
errors は、もしエラーがあれば、そのリストを表示します。エラーは検証を失敗させます。
warnings は、警告があれば、そのリストを表示します。
status は検証の結果を示します: SUCCESS または FAILURE です。
検証が失敗する原因となるエラーや、検証が成功する原因となる警告が発生した場合、コマンドはそのエラーや警告に関する以下の情報を表示します。
メッセージ: エラーまたは警告に対する人間が読めるメッセージ。原因: SQL 構築がエラーまたは警告とみなされる理由。errorCode: エラーまたは警告に関連する数値コード。fileName: エラーまたは警告を含むファイル名。ステージルートからの相対パス。行: エラーまたは警告の場所を特定するファイルの行番号。column: エラーまたは警告が発生した行の列番号。
次の例は、警告とエラーの両方を含む検証の失敗を示しています。