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>
--format <format>
--verbose
--debug
--silent
인자¶
없음
선택 사항¶
--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
키=값 형식의 문자열. 템플릿에 사용되는 env 섹션의 변수를 재정의합니다. 기본값: [].
--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
Python 커넥터 진단 테스트를 실행합니다. 기본값: False.
--diag-log-path TEXT
진단 보고서 경로입니다. 기본값: <temporary_directory>.
--diag-allowlist-path TEXT
선택적 허용 목록에 대한 진단 보고서 경로입니다.
--format [TABLE|JSON]
출력 형식을 지정합니다. 기본값: TABLE.
--verbose, -v
로그 수준
info
이상의 로그 항목을 표시합니다. 기본값: False.--debug
로그 수준
디버그
이상에 대한 로그 항목을 표시하며, 디버그 로그에는 추가 정보가 포함됩니다. 기본값: False.--silent
콘솔로의 중간 출력을 끕니다. 기본값: False.
--help
이 명령에 대한 도움말 텍스트를 표시합니다.
사용법 노트¶
app.zip
에는 프로젝트의 함수와 절차를 실행하는 데 필요한 모든 것이 포함되어 있으며, Snowflake Anaconda 채널 을 통해 제공되는 패키지를 제외하고는 Snowflake에서 직접 호출할 수 있습니다.이 명령은 Conda 채널에서 사용 가능한 패키지에 대해
requirements.txt
를 구문 분석합니다. 이 프로세스는 나중에snow snowpark deploy
명령에서 사용되는 Conda 채널에서 사용할 수 있는 프로젝트 종속성을 포함하는requirements.snowflake.txt
파일을 생성합니다.기본적으로 이 명령은 현재 디렉터리에서
snowflake.yml
파일을 찾습니다. 또는--project
옵션을 사용하여 다른 경로를 지정할 수 있습니다.이 명령은 종속성을 자동으로 다운로드하여 프로젝트 원본 코드(
snowflake.yml
파일의src
필드에 지정됨)와 함께app.zip
이라는 파일에 추가합니다.PyPi 이외의 다른 Python 패키지 인덱스를 사용하려면
--index-url
옵션을 사용하여 지정합니다.--skip-version-check
옵션을 사용하면 프로젝트 종속성과 Anaconda 채널 간의 버전 요구 사항을 건너뛸 수 있습니다.--ignore-anaconda
옵션을 사용하여 필요한 모든 종속성을app.zip
파일에 포함할 수 있으며, 여기에는 Snowflake Anaconda 채널에서 사용할 수 있는 종속성도 포함됩니다. 종속성은 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.