snow package create

스테이지에 업로드할 수 있는 Python 패키지를 zip 파일로 생성하여 Snowpark 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>
  --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
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 파일에 정의된 연결의 이름입니다. 기본값: default.

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

허용 목록 매개 변수가 포함된 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 (Proof Key for Code Exchange)를 비활성화합니다. 기본값: False.

--oauth-enable-refresh-tokens

실제 액세스 토큰이 오래되었을 때 자동 재인증을 활성화합니다. 기본값: False.

--oauth-enable-single-use-refresh-tokens

일회용 새로 고침 토큰 시맨틱에 옵트인할지 여부입니다. 기본값: False.

--client-store-temporary-credential

임시 자격 증명을 저장합니다.

--format [TABLE|JSON]

출력 형식을 지정합니다. 기본값: TABLE.

--verbose, -v

로그 수준 정보 이상에 대한 로그 항목을 표시합니다. 기본값: False.

--debug

로그 수준 디버그 이상에 대한 로그 항목을 표시하며, 디버그 로그에는 추가 정보가 포함됩니다. 기본값: False.

--silent

콘솔로의 중간 출력을 끕니다. 기본값: False.

--enhanced-exit-codes

실패 유형에 따라 종료 오류 코드를 차별화하십시오. 기본값: False.

--help

이 명령에 대한 도움말 텍스트를 표시합니다.

사용법 노트

snowpark package create 명령은 다음을 수행합니다.

  • 스테이지에 업로드할 수 있는 아티팩트를 생성합니다.

  • 네이티브 라이브러리를 확인하고 계속할지 묻습니다. 다운로드한 패키지에 네이티브 라이브러리가 있는 경우 이 명령은 snowpark package build 명령과 동일하게 작동합니다.

  • 이 예제는 스테이지에 업로드할 수 있고 나중에 Snowpark Python 앱에서 가져올 수 있는 Python 패키지를 zip 파일로 생성합니다. “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 패키지를 생성합니다. 오류 메시지는 일부 패키지에 공유 라이브러리가 포함되어 있음을 나타내며, 이는 윈도우를 사용하여 패키지를 만드는 경우와 같이 동작하지 않을 수 있습니다.

    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.