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>
  --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>
  --format <format>
  --verbose
  --debug
  --silent
Copy

引数

name

作成するパッケージの名前。

オプション

--ignore-anaconda

Snowflake Anacondaチャンネルのパッケージを検索しません。デフォルト: false。

--index-url TEXT

パッケージ検索に使用するPythonパッケージインデックスのベース URL。これは、 PEP 503に準拠したリポジトリ(シンプルリポジトリ API)か、同じ形式でレイアウトされたローカルディレクトリを指す必要があります。

--skip-version-check

要件とAnaconda間の依存関係のバージョン比較をスキップします。デフォルト: false。

--allow-shared-libraries

PIP を通してインストールされたパッケージを使用する場合、共有(.so)ライブラリを許可します。デフォルト: false。

--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

構成で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト: false。

--mfa-passcode TEXT

多要素認証(MFA)に使用するトークン。

--enable-diag

Pythonコネクター診断テストを実行します。デフォルト: false。

--diag-log-path TEXT

診断レポートパス。デフォルト: <temporary_directory>

--diag-allowlist-path TEXT

オプションの許可リストへの診断レポートパス。

--format [TABLE|JSON]

出力形式を指定します。デフォルト: TABLE

--verbose, -v

ログレベル info 以上のログエントリを表示します。デフォルト: false。

--debug

ログレベル debug 以上のログ エントリを表示します。デバッグログには追加情報が含まれます。デフォルト: false。

--silent

コンソールへの中間出力をオフにします。デフォルト: 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
    
    Copy
    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
    
    Copy
    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
    
    Copy
    Package matplotlib is already available in Snowflake Anaconda Channel.