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>
  --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
인자¶
없음
선택 사항¶
--ignore-anacondaSnowflake Anaconda 채널에서 패키지를 조회하지 마십시오. 기본값: False.
--allow-shared-librariesPIP를 통해 설치된 패키지를 사용할 때 공유(.so) 라이브러리를 허용합니다. 기본값: False.
--index-url TEXT패키지 조회에 사용할 Python 패키지 인덱스의 기본 URL입니다. 이는 PEP 503을 준수하는 리포지토리(단순 리포지토리 API) 또는 동일한 형식으로 배치된 로컬 디렉터리를 가리켜야 합니다.
--skip-version-check요구 사항과 Anaconda 간의 종속성 버전 비교는 건너뜁니다. 기본값: False.
-p, --project TEXTSnowflake 프로젝트가 저장된 경로입니다. 현재 작업 디렉터리로 기본 설정됩니다.
--env TEXT키=값 형식의 문자열입니다. 템플릿에 사용되는 환경 섹션의 변수를 재정의합니다. 기본값: [].
--connection, -c, --environment TEXTconfig.toml파일에 정의된 연결의 이름입니다. 기본값:default.--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 TEXT허용 목록 매개 변수가 포함된 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 TEXT인증 코드 리디렉션에 사용할 URI 입니다.
--oauth-scope TEXTID 공급자 승인 요청에서 요청된 범위입니다.
--oauth-disable-pkcePKCE (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|JSON_EXT|CSV]출력 형식을 지정합니다. 기본값: TABLE.
--verbose, -v로그 수준
정보이상에 대한 로그 항목을 표시합니다. 기본값: False.--debug로그 수준
디버그이상에 대한 로그 항목을 표시하며, 디버그 로그에는 추가 정보가 포함됩니다. 기본값: False.--silent콘솔로의 중간 출력을 끕니다. 기본값: False.
--enhanced-exit-codes실패 유형에 따라 종료 오류 코드를 차별화하십시오. 기본값: 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.txtsnow 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.txtsnow 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.