snow snowpark build¶
Snowparkプロジェクトに必要な成果物をビルドする。このアーティファクトは、 deploy
コマンドで使用することができます。アーティファクトの各ディレクトリに.zipファイルが作成される。anaconda 以外の依存関係はすべて dependencies.zip ファイルにパッケージされています。
構文¶
snow snowpark build
--ignore-anaconda
--allow-shared-libraries
--index-url <index_url>
--skip-version-check
--project <project_definition>
--env <env_overrides>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--oauth-client-id <oauth_client_id>
--oauth-client-secret <oauth_client_secret>
--oauth-authorization-url <oauth_authorization_url>
--oauth-token-request-url <oauth_token_request_url>
--oauth-redirect-uri <oauth_redirect_uri>
--oauth-scope <oauth_scope>
--oauth-disable-pkce
--oauth-enable-refresh-tokens
--oauth-enable-single-use-refresh-tokens
--client-store-temporary-credential
--format <format>
--verbose
--debug
--silent
--enhanced-exit-codes
引数¶
なし
オプション¶
--ignore-anaconda
Snowflake Anacondaチャンネルのパッケージを検索しません。デフォルト: false。
--allow-shared-libraries
PIP を通してインストールされたパッケージを使用する場合、共有(.so)ライブラリを許可します。デフォルト: false。
--index-url TEXT
パッケージ検索に使用するPythonパッケージインデックスのベース URL。これは、 PEP 503に準拠したリポジトリ(シンプルリポジトリ API)か、同じ形式でレイアウトされたローカルディレクトリを指す必要があります。
--skip-version-check
要件とAnaconda間の依存関係のバージョン比較をスキップします。デフォルト: false。
-p, --project TEXT
Snowflakeプロジェクトが保存されているパス。デフォルトは現在の作業ディレクトリです。
--env TEXT
key=value の形式の文字列。テンプレートに使用されたenvセクションの変数を上書きします。デフォルト: []
--connection, -c, --environment TEXT
config.toml
ファイルで定義されている接続の名前。デフォルト:デフォルト
--host TEXT
接続用のホストアドレス。接続に指定された値を上書きします。
--port INTEGER
接続のポート。接続に指定された値を上書きします。
--account, --accountname TEXT
Snowflakeアカウントに割り当てられた名前。接続に指定された値を上書きします。
--user, --username TEXT
Snowflakeに接続するユーザー名。接続に指定された値を上書きします。
--password TEXT
Snowflakeのパスワード。接続に指定された値を上書きします。
--authenticator TEXT
Snowflakeの認証コード。接続に指定された値を上書きします。
--private-key-file, --private-key-path TEXT
Snowflake プライベートキーファイルへのパス。接続に指定された値を上書きします。
--token-file-path TEXT
Snowflake接続時に使用する OAuth トークンを含むファイルへのパス。
--database, --dbname TEXT
使用するデータベース。接続に指定された値を上書きします。
--schema, --schemaname TEXT
使用するデータベーススキーマ。接続に指定された値を上書きします。
--role, --rolename TEXT
使用するロール。接続に指定された値を上書きします。
--warehouse TEXT
使用するウェアハウス名。接続に指定された値を上書きします。
--temporary-connection, -x
config で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト: false。
--mfa-passcode TEXT
多要素認証(MFA)に使用するトークン。
--enable-diag
接続診断レポートを作成するかどうか。デフォルト: false。
--diag-log-path TEXT
生成されたレポートのパス。デフォルトはシステム仮ディレクトリです。デフォルト: <system_temporary_directory>.
--diag-allowlist-path TEXT
allowlist パラメーターを含む JSON ファイルへのパス。
--oauth-client-id TEXT
Snowflake統合のためにIDプロバイダーが提供するクライアントIDの値。
--oauth-client-secret TEXT
Snowflake 統合用に ID プロバイダーが提供するクライアントシークレットの値。
--oauth-authorization-url TEXT
認証コードをドライバーに提供する ID プロバイダーエンドポイント。
--oauth-token-request-url TEXT
ドライバーにアクセストークンを供給する ID プロバイダーのエンドポイント。
--oauth-redirect-uri TEXT
URI 認証コードのリダイレクトに使用します。
--oauth-scope TEXT
ID プロバイダー承認リクエストで要求された範囲。
--oauth-disable-pkce
コード交換の証明キー (PKCE) を無効にします。デフォルト:
False
。--oauth-enable-refresh-tokens
実際のアクセストークンが古くなった場合に、サイレント再認証コードを有効にします。デフォルト:
False
。--oauth-enable-single-use-refresh-tokens
シングルユース・更新・トークンのセマンティクスにオプトインするかどうか。デフォルト:
False
。--client-store-temporary-credential
仮認証情報を保存します。
--format [TABLE|JSON]
出力形式を指定します。デフォルト: TABLE
--verbose, -v
ログレベル
info
以上のログエントリを表示します。デフォルト: false。--debug
ログレベル
debug
以上のログ エントリを表示します。デバッグログには追加情報が含まれます。デフォルト: false。--silent
コンソールへの中間出力をオフにします。デフォルト: false。
--enhanced-exit-codes
終了エラーコードをエラーのタイプによって区別します。デフォルト: false。
--help
このコマンドのヘルプテキストを表示します。
使用上の注意¶
app.zip
には、Snowflakeから直接呼び出すことができる Snowflake Anacondaチャンネル を通じて利用可能なパッケージを除き、プロジェクト内の関数とプロシージャを実行するために必要なものがすべて含まれています。このコマンドは、Condaチャンネルで利用可能なパッケージの
requirements.txt
を解析します。このプロセスにより、Condaチャンネルで利用可能なプロジェクト依存関係を含むrequirements.snowflake.txt
ファイルが作成され、後でsnow snowpark deploy
コマンドによって使用されます。デフォルトでは、コマンドは現在のディレクトリ内の
snowflake.yml
ファイルを検索します。または、--project
オプションで別のパスを指定することもできます。このコマンドは依存関係を自動的にダウンロードし、プロジェクトのソースコード(
snowflake.yml
ファイルのsrc
フィールドで指定)とともにapp.zip
というファイルに追加します。PyPi とは異なるPythonパッケージインデックスを使用するには、
--index-url
オプションを使用して指定します。--skip-version-check
オプションを使用すると、プロジェクトの依存関係とAnacondaチャンネル間のバージョン要件をスキップできます。--ignore-anaconda
オプションを使用すると、Snowflake Anacondaチャンネルで利用可能なものであっても、必要な依存関係をすべてapp.zip
ファイルに含めることができます。依存関係はAnacondaからではなく、 PyPi からダウンロードされます。--allow-shared-libraries
オプションは、 PyPi からダウンロードされたパッケージのいずれかがネイティブ依存関係を使用しているかどうかをチェックします。Snowparkは現在、Condaチャンネルから取得したパッケージのネイティブ依存関係のみをサポートしているため、問題が発生する可能性があります。
例¶
現在のディレクトリにあるプロジェクトを構築します。
snow snowpark build
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.
別のディレクトリにあるプロジェクトを構築します。
ls
project_dir some_other_dir some_file.txt
snow snowpark build -p project_dir
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.
snowflake.yml
プロジェクト定義のないディレクトリにプロジェクトを構築します。ls
project_dir some_other_dir some_file.txt
snow snowpark build
╭─ Error ──────────────────────────────────────────────────────────╮ Cannot find project definition (snowflake.yml). Please provide a path to the project or run this command in a valid project directory. ╰──────────────────────────────────────────────────────────────────╯
ネイティブライブラリを使ってプロジェクトを構築します。
snow snowpark build --ignore-anaconda --allow-shared-libraries
2024-04-16 16:05:52 ERROR Following dependencies utilise shared libraries, not supported by Conda: 2024-04-16 16:05:52 ERROR contourpy pillow numpy kiwisolver fonttools matplotlib 2024-04-16 16:05:52 ERROR You may still try to create your package with --allow-shared-libraries, but the might not work. 2024-04-16 16:05:52 ERROR You may also request adding the package to Snowflake Conda channel 2024-04-16 16:05:52 ERROR at https://support.anaconda.com/ Build done. Artifact path: /Path/to/current/dir/project_dir/app.zip
プロジェクトを構築し、すべての依存関係を含めます。
snow snowpark build --ignore-anaconda
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.