snow package create¶
ステージにアップロードしてSnowpark Pythonアプリにインポートできるzipファイルとして、Pythonパッケージを作成します。
構文¶
snow snowpark package create
  <name>
  --ignore-anaconda
  --index-url <index_url>
  --skip-version-check
  --allow-shared-libraries
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --workload-identity-provider <workload_identity_provider>
  --private-key-file <private_key_file>
  --token <token>
  --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
引数¶
name作成するパッケージの名前。
オプション¶
--ignore-anacondaSnowflake Anacondaチャンネルのパッケージを検索しません。デフォルト: false。
--index-url TEXTパッケージ検索に使用するPythonパッケージインデックスのベース URL。これは、 PEP 503に準拠したリポジトリ(シンプルリポジトリ API)か、同じ形式でレイアウトされたローカルディレクトリを指す必要があります。
--skip-version-check要件とAnaconda間の依存関係のバージョン比較をスキップします。デフォルト: false。
--allow-shared-librariesPIP を通してインストールされたパッケージを使用する場合、共有(.so)ライブラリを許可します。デフォルト: false。
--connection, -c, --environment TEXTconfig.tomlファイルで定義されている接続の名前。デフォルト:デフォルト--host TEXT接続用のホストアドレス。接続に指定された値を上書きします。
--port INTEGER接続のポート。接続に指定された値を上書きします。
--account, --accountname TEXTSnowflakeアカウントに割り当てられた名前。接続に指定された値を上書きします。
--user, --username TEXTSnowflakeに接続するユーザー名。接続に指定された値を上書きします。
--password TEXTSnowflakeのパスワード。接続に指定された値を上書きします。
--authenticator TEXTSnowflakeの認証コード。接続に指定された値を上書きします。
--workload-identity-provider TEXTワークロードIDプロバイダー(AWS、AZURE、GCP、OIDC)。接続に指定された値を上書きします。
--private-key-file, --private-key-path TEXTSnowflake プライベートキーファイルへのパス。接続に指定された値を上書きします。
--token TEXTSnowflake接続時に使用する OAuth トークン。
--token-file-path TEXTSnowflake接続時に使用する OAuth トークンを含むファイルへのパス。
--database, --dbname TEXT使用するデータベース。接続に指定された値を上書きします。
--schema, --schemaname TEXT使用するデータベーススキーマ。接続に指定された値を上書きします。
--role, --rolename TEXT使用するロール。接続に指定された値を上書きします。
--warehouse TEXT使用するウェアハウス名。接続に指定された値を上書きします。
--temporary-connection, -xconfig で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト: false。
--mfa-passcode TEXT多要素認証(MFA)に使用するトークン。
--enable-diag接続診断レポートを作成するかどうか。デフォルト: false。
--diag-log-path TEXT生成されたレポートのパス。デフォルトはシステム仮ディレクトリです。デフォルト: <system_temporary_directory>.
--diag-allowlist-path TEXTallowlist パラメーターを含む JSON ファイルへのパス。
--oauth-client-id TEXTSnowflake統合のためにIDプロバイダーが提供するクライアントIDの値。
--oauth-client-secret TEXTSnowflake 統合用に ID プロバイダーが提供するクライアントシークレットの値。
--oauth-authorization-url TEXT認証コードをドライバーに提供する ID プロバイダーエンドポイント。
--oauth-token-request-url TEXTドライバーにアクセストークンを供給する ID プロバイダーのエンドポイント。
--oauth-redirect-uri TEXTURI 認証コードのリダイレクトに使用します。
--oauth-scope TEXTID プロバイダー承認リクエストで要求された範囲。
--oauth-disable-pkceコード交換の証明キー (PKCE) を無効にします。デフォルト:
False。--oauth-enable-refresh-tokens実際のアクセストークンが古くなった場合に、サイレント再認証コードを有効にします。デフォルト:
False。--oauth-enable-single-use-refresh-tokensシングルユース・更新・トークンのセマンティクスにオプトインするかどうか。デフォルト:
False。--client-store-temporary-credential仮認証情報を保存します。
--format [TABLE|JSON|JSON_EXT|CSV]出力形式を指定します。デフォルト: TABLE
--verbose, -vログレベル
info以上のログエントリを表示します。デフォルト: false。--debugログレベル
debug以上のログ エントリを表示します。デバッグログには追加情報が含まれます。デフォルト: false。--silentコンソールへの中間出力をオフにします。デフォルト: false。
--enhanced-exit-codes終了エラーコードをエラーのタイプによって区別します。デフォルト: false。
--helpこのコマンドのヘルプテキストを表示します。
使用上の注意¶
snowpark package create コマンドは次のように実行します。
ステージにアップロードする準備ができたアーティファクトを作成します。
ネイティブライブラリをチェックし、続行するかどうかを尋ねます。ダウンロードしたパッケージにネイティブライブラリが存在する場合、このコマンドは
snowpark package buildコマンドと同じように機能します。
例¶
この例では、ステージにアップロードして後でSnowpark Pythonアプリでインポートできるzipファイルとして、Pythonパッケージを作成します。「july」パッケージの依存関係がAnacondaチャネルで見つかったため、
.zipファイルから除外されました。このコマンドは、Snowparkプロジェクトのrequirements.txtに含める必要があるパッケージを表示します。snow snowpark package create july==0.1
Package july.zip created. You can now upload it to a stage using snow snowpark package upload -f july.zip -s <stage-name>` and reference it in your procedure or function. Remember to add it to imports in the procedure or function definition. The package july is successfully created, but depends on the following Anaconda libraries. They need to be included in project requirements, as their are not included in .zip. matplotlib contourpy >=1.0.1 numpy>=1.20 bokeh selenium mypy==1.8.0 Pillow pytest-xdist wurlitzer cycler >=0.10 fonttools >=4.22.0 kiwisolver >=1.3.1 pyparsing >=2.3.1 jinja2 python-dateutil >=2.7 six >=1.5 importlib-resources >=3.2.0
この例では、
requirements.txtファイルに依存関係を追加することなく、Snowparkプロジェクトで使用できるjuly.zipパッケージを作成します。エラーメッセージは、一部のパッケージに共有ライブラリが含まれており、Windowsを使用してパッケージを作成する場合などに機能しない可能性があることを示しています。snow snowpark package create july==0.1 --ignore-anaconda --allow-shared-libraries
2024-04-11 16:24:56 ERROR Following dependencies utilise shared libraries, not supported by Conda: 2024-04-11 16:24:56 ERROR numpy contourpy fonttools kiwisolver matplotlib pillow 2024-04-11 16:24:56 ERROR You may still try to create your package with --allow-shared-libraries, but the might not work. 2024-04-11 16:24:56 ERROR You may also request adding the package to Snowflake Conda channel 2024-04-11 16:24:56 ERROR at https://support.anaconda.com/ Package july.zip created. You can now upload it to a stage using snow snowpark package upload -f july.zip -s <stage-name>` and reference it in your procedure or function. Remember to add it to imports in the procedure or function definition.
この例では、パッケージがすでに存在しているため、作成に失敗しています。
--ignore-anacondaオプションを使用して、強制的にパッケージを作成することもできます。snow snowpark package create matplotlib
Package matplotlib is already available in Snowflake Anaconda Channel.