snow snowpark build¶
Cria artefatos necessários para o projeto Snowpark. Os artefatos podem ser usados pelo comando deploy. Para cada diretório em artefatos, um arquivo .zip é criado. Todas as dependências que não forem do Anaconda são empacotadas no arquivo dependencies.zip.
Sintaxe¶
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
Argumentos¶
Nenhum
Opções¶
--ignore-anacondaNão procura pacotes no canal Snowflake Anaconda. Padrão: falso.
--allow-shared-librariesPermite bibliotecas compartilhadas (.so) ao usar pacotes instalados por meio de PIP. Padrão: falso.
--index-url TEXTURL básico do Python Package Index a ser usado para pesquisa de pacotes. Isso deve apontar para um repositório compatível com PEP 503 (a API de repositório simples) ou um diretório local disposto no mesmo formato.
--skip-version-checkIgnore a comparação de versões de dependências entre requisitos e Anaconda. Padrão: falso.
-p, --project TEXTCaminho onde o projeto Snowflake está armazenado. O padrão é o diretório de trabalho atual.
--env TEXTCadeia de caracteres no formato key=value. Substitui as variáveis da seção env usada para modelos. Padrão: [].
--connection, -c, --environment TEXTNome da conexão, conforme definido no arquivo
config.toml. Padrão:default.--host TEXTEndereço do host da conexão. Substitui o valor especificado para a conexão.
--port INTEGERPorta para a conexão. Substitui o valor especificado para a conexão.
--account, --accountname TEXTNome atribuído à sua conta Snowflake. Substitui o valor especificado para a conexão.
--user, --username TEXTNome de usuário para se conectar ao Snowflake. Substitui o valor especificado para a conexão.
--password TEXTSenha do Snowflake. Substitui o valor especificado para a conexão.
--authenticator TEXTAutenticador Snowflake. Substitui o valor especificado para a conexão.
--workload-identity-provider TEXTProvedor de identidade de carga de trabalho (AWS, AZURE, GCP, OIDC). Substitui o valor especificado para a conexão.
--private-key-file, --private-key-path TEXTCaminho do arquivo de chave privada Snowflake. Substitui o valor especificado para a conexão.
--token TEXTToken OAuth a ser usado ao se conectar ao Snowflake.
--token-file-path TEXTCaminho para o arquivo com um token OAuth a ser usado ao se conectar ao Snowflake.
--database, --dbname TEXTBanco de dados a ser usado. Substitui o valor especificado para a conexão.
--schema, --schemaname TEXTEsquema de banco de dados a ser usado. Substitui o valor especificado para a conexão.
--role, --rolename TEXTFunção a ser usada. Substitui o valor especificado para a conexão.
--warehouse TEXTWarehouse a ser usado. Substitui o valor especificado para a conexão.
--temporary-connection, -xUsa uma conexão definida com parâmetros de linha de comando, em vez de uma definida na configuração. Padrão: falso.
--mfa-passcode TEXTToken a ser usado para autenticação multifator (MFA).
--enable-diagSe deve gerar um relatório de diagnóstico de conexão. Padrão: falso.
--diag-log-path TEXTCaminho para o relatório gerado. O padrão é o diretório temporário do sistema. Padrão: <system_temporary_directory>.
--diag-allowlist-path TEXTCaminho para um arquivo JSON que contém parâmetros da lista de permissões.
--oauth-client-id TEXTValor do ID de cliente fornecido pelo provedor de identidade para integração com o Snowflake.
--oauth-client-secret TEXTValor do segredo do cliente fornecido pelo provedor de identidade para integração com o Snowflake.
--oauth-authorization-url TEXTPonto de extremidade do provedor de identidade que fornece o código de autorização ao driver.
--oauth-token-request-url TEXTPonto de extremidade do provedor de identidade que fornece os tokens de acesso ao driver.
--oauth-redirect-uri TEXTURI a ser usado para redirecionamento de código de autorização.
--oauth-scope TEXTEscopo solicitado na solicitação de autorização do provedor de identidade.
--oauth-disable-pkceDesativa o Proof Key for Code Exchange (PKCE). Padrão:
False.--oauth-enable-refresh-tokensPermite uma reautenticação silenciosa quando o token de acesso real fica desatualizado. Padrão:
False.--oauth-enable-single-use-refresh-tokensSe o usuário deve optar pela semântica de token de atualização de uso único. Padrão:
False.--client-store-temporary-credentialArmazena a credencial temporária.
--format [TABLE|JSON|JSON_EXT|CSV]Especifica o formato de saída. Padrão: TABLE.
--verbose, -vExibe entradas de log para os níveis de log
infoe superiores. Padrão: falso.--debugExibe entradas de log para níveis de log de
depuraçãoe superiores; os logs de depuração contêm informações adicionais. Padrão: falso.--silentDesliga a saída intermediária para o console. Padrão: falso.
--enhanced-exit-codesDiferencia os códigos de erro de saída com base no tipo de falha. Padrão: falso.
--helpExibe o texto de ajuda para este comando.
Notas de uso¶
O
app.zipcontém tudo o que é necessário para executar as funções e procedimentos no projeto, além dos pacotes disponíveis através do Canal Snowflake Anaconda, que você pode chamar diretamente do Snowflake.-O comando analisa
requirements.txtpara pacotes disponíveis no canal Conda. Este processo cria o arquivorequirements.snowflake.txtcom as dependências do projeto disponíveis no canal Conda, que posteriormente é usado pelo comandosnow snowpark deploy.Por padrão, o comando procura o arquivo
snowflake.ymlno diretório atual. Alternativamente, você pode especificar um caminho diferente com a opção--project.Este comando baixa automaticamente as dependências e as adiciona a um arquivo chamado
app.zip, juntamente com o código-fonte do projeto (especificado pelo camposrcno arquivosnowflake.yml.Para usar um índice de pacotes Python diferente de PyPi, especifique um usando a opção
--index-url.Você pode usar a opção
--skip-version-checkpara pular requisitos de versão entre dependências do projeto e o Canal Anaconda.Você pode usar a opção
--ignore-anacondapara incluir todas as dependências necessárias no arquivoapp.zip, mesmo aqueles disponíveis no canal Snowflake Anaconda. As dependências não são baixadas do Anaconda, mas de PyPi.A opção
--allow-shared-librariesverifica se algum dos pacotes baixados de PyPi estão usando dependências nativas, o que pode causar problemas, pois o Snowpark atualmente suporta apenas dependências nativas para pacotes retirados do canal Conda
Exemplos¶
Crie um projeto localizado no diretório atual:
snow snowpark build
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.
Crie um projeto localizado em um diretório diferente:
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.
Crie um projeto em um diretório sem definição do projeto
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. ╰──────────────────────────────────────────────────────────────────╯
Crie um projeto com bibliotecas nativas:
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
Crie um projeto e inclua todas as dependências:
snow snowpark build --ignore-anaconda
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.