Criação de uma definição de projeto Snowpark¶
O arquivo snowflake.yml
contém as declarações de funções e procedimentos para um projeto Snowpark.
Nota
Atualmente, o arquivo de definição do projeto Snowpark deve ser nomeado snowflake.yml
.
O snippet a seguir mostra um arquivo de definição de projeto Snowpark de exemplo: com duas funções e dois procedimentos. A função hello_function
usa recursos externos do Snowpark.
definition_version: '2'
mixins:
snowpark_shared:
artifacts:
- dest: my_snowpark_project
src: app/
stage: dev_deployment
entities:
hello_function:
type: function
identifier:
name: hello_function
handler: functions.hello_function
signature:
- name: name
type: string
returns: string
external_access_integrations:
- my_external_access
secrets:
cred: my_cred_name
meta:
use_mixins:
- snowpark_shared
hello_procedure:
type: procedure
identifier:
name: hello_procedure
handler: procedures.hello_procedure
signature:
- name: name
type: string
returns: string
meta:
use_mixins:
- snowpark_shared
test_procedure:
type: procedure
identifier:
name: test_procedure
handler: procedures.test_procedure
signature: ''
returns: string
meta:
use_mixins:
- snowpark_shared
Cuidado
Os arquivos dentro de um diretório de projeto são processados por Snowflake CLI e podem ser carregados no Snowflake ao executar outros comandos snow snowpark
. Você deve ter cuidado ao colocar qualquer informação confidencial dentro de arquivos em um diretório de projeto.
Propriedades de objetos de função e procedimento¶
A tabela a seguir descreve as propriedades usadas por funções e procedimentos.
Propriedade |
Definição |
---|---|
identifier optional, string |
Identificador Snowflake opcional para a entidade. O valor pode ter as seguintes formas:
|
type optional, string |
Deve ser um dos seguintes: |
artifact_repository optional, string |
Nome do repositório de artefatos. O Snowflake tem um repositório de artefatos padrão chamado A instrução
Para pacotes que dependem de arquiteturas específicas, você pode defini-los no parâmetro test_function:
type: "function"
handler: "app.udf"
identifier:
name: "udf"
stage: "dev_deployment"
signature: ""
returns: float
artifact_repository: snowflake.snowpark.pypi_shared_repository
- 'scikit-learn'
artifacts:
- "app.py"
resource_constraint:
architecture: 'x86'
Para obter mais informações, consulte Pacotes criados somente para x86. |
artifact_repository_packages optional, string |
Nota Esta propriedade foi descontinuada em favor da propriedade |
pacotes optional, string |
Lista de pacotes a serem instalados por meio do artifact_repository. Por exemplo: artifact_repository: snowflake.snowpark.pypi_shared_repository
packages:
- Faker
- rich
- pytest
|
artifacts obrigatório, sequência de cadeias de caracteres |
Lista de pares de origem e destino de arquivos para adicionar à raiz de implantação. É possível usar as seguintes propriedades de artefato:
Se Você também pode passar uma cadeia de caracteres para cada item em vez de um |
manipulador required, string |
Implementação da função ou procedimento do objeto dentro do módulo definido em |
retorna required, string |
Tipo SQL do resultado. Confira a lista de tipos disponíveis. |
assinatura obrigatório, sequência |
O parâmetro signature:
- name: "first_argument"
type: int
- name: "second_argument"
default: "default value"
type: string
Se uma função ou procedimento não aceitar argumentos, defina este valor como uma cadeia de caracteres vazia ( Verifique a coluna Tipo de SQL de tipos disponíveis. Para saber mais sobre a sintaxe de argumentos nomeados e opcionais, consulte Como chamar uma UDF que tem argumentos opcionais. |
tempo de execução optional, string |
Versão do Python a ser usada ao executar o procedimento ou função. Padrão: «3.9». |
external_access_integrations opcional, sequência de cadeias de caracteres |
Nomes das integrações de acesso externo para que este código do manipulador do procedimento acesse redes externas. Consulte o parâmetro EXTERNAL_ACCESS_INTEGRATIONS em CREATE PROCEDURE para obter mais detalhes. |
segredos opcional, dicionário |
Atribui os nomes dos segredos às variáveis para que você possa usar as variáveis para fazer referência aos segredos ao recuperar informações dos segredos no código do manipulador. Para obter mais detalhes, consulte o parâmetro SECRETS em CREATE PROCEDURE. |
importações opcional, sequência de cadeias de caracteres |
Estágio e caminho para os arquivos enviados anteriormente que você deseja importar. Para obter mais detalhes, consulte o parâmetro |
execute_as_caller opcional, booliano |
Disponível apenas para procedimentos. Determine se o procedimento é executado com os privilégios do proprietário (você) ou com os privilégios do chamador. Padrão: falso (privilégios do proprietário). |