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>
--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
Argumentos¶
Nenhum
Opções¶
--ignore-anaconda
Não procura pacotes no canal Snowflake Anaconda. Padrão: falso.
--allow-shared-libraries
Permite bibliotecas compartilhadas (.so) ao usar pacotes instalados por meio de PIP. Padrão: falso.
--index-url TEXT
URL 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-check
Ignore a comparação de versões de dependências entre requisitos e Anaconda. Padrão: falso.
-p, --project TEXT
Caminho onde o projeto Snowflake está. O padrão é o diretório de trabalho atual.
--env TEXT
Cadeia de caracteres no formato chave=valor. Substitui variáveis da seção env usadas para modelos. Padrão: [].
--connection, -c, --environment TEXT
Nome da conexão, conforme definido no arquivo
config.toml
. Padrão:padrão
.--host TEXT
Endereço do host da conexão. Substitui o valor especificado para a conexão.
--port INTEGER
Porta para a conexão. Substitui o valor especificado para a conexão.
--account, --accountname TEXT
Nome atribuído à sua conta Snowflake. Substitui o valor especificado para a conexão.
--user, --username TEXT
Nome de usuário para se conectar ao Snowflake. Substitui o valor especificado para a conexão.
--password TEXT
Senha do Snowflake. Substitui o valor especificado para a conexão.
--authenticator TEXT
Autenticador Snowflake. Substitui o valor especificado para a conexão.
--private-key-file, --private-key-path TEXT
Caminho do arquivo de chave privada Snowflake. Substitui o valor especificado para a conexão.
--token-file-path TEXT
Caminho para o arquivo com um token OAuth que deve ser usado ao conectar-se ao Snowflake.
--database, --dbname TEXT
Banco de dados a ser usado. Substitui o valor especificado para a conexão.
--schema, --schemaname TEXT
Esquema de banco de dados a ser usado. Substitui o valor especificado para a conexão.
--role, --rolename TEXT
Função a ser usada. Substitui o valor especificado para a conexão.
--warehouse TEXT
Warehouse a ser usado. Substitui o valor especificado para a conexão.
--temporary-connection, -x
Usa conexão definida com parâmetros de linha de comando, em vez de uma definida na configuração. Padrão: falso.
--mfa-passcode TEXT
Token a ser usado para autenticação multifator (MFA).
--enable-diag
Execução do teste de diagnóstico do conector Python. Padrão: falso.
--diag-log-path TEXT
Caminho do relatório de diagnóstico. Padrão: <temporary_directory>.
--diag-allowlist-path TEXT
Caminho do relatório de diagnóstico para a lista de permissões opcional.
--format [TABLE|JSON]
Especifica o formato de saída. Padrão: TABLE.
--verbose, -v
Exibe entradas de log para níveis de log
info
e superior. Padrão: falso.--debug
Exibe entradas de log para níveis de log de
depuração
e superiores; os logs de depuração contêm informações adicionais. Padrão: falso.--silent
Desliga a saída intermediária para o console. Padrão: falso.
--help
Exibe o texto de ajuda para este comando.
Notas de uso¶
O
app.zip
conté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.txt
para pacotes disponíveis no canal Conda. Este processo cria o arquivorequirements.snowflake.txt
com 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.yml
no 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 camposrc
no 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-check
para pular requisitos de versão entre dependências do projeto e o Canal Anaconda.Você pode usar a opção
--ignore-anaconda
para 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-libraries
verifica 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.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.
Crie um projeto em um diretório sem definição do projeto
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. ╰──────────────────────────────────────────────────────────────────╯
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.