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 |
artifact_repository_packages optional, string |
Nomes dos pacotes que viriam do repositório de artefatos. Observe que os pacotes no arquivo Os parâmetros
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
artifact_repository_packages:
- 'scikit-learn'
artifacts:
- "app.py"
resource_constraint:
architecture: 'x86'
Para obter mais informações, consulte Pacotes criados somente para x86. |
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. Consulte |
importações opcional, sequência de cadeias de caracteres |
Estágio e caminho para os arquivos enviados anteriormente que você deseja importar. Consulte |
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). |