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 opcional, cadeia de caracteres |
Identificador Snowflake opcional para a entidade. O valor pode ter as seguintes formas:
|
tipo opcional, cadeia de caracteres |
Deve ser um dos seguintes: |
artifacts obrigatório, sequência de cadeias de caracteres |
Lista de recursos necessários. |
manipulador obrigatório, cadeia de caracteres |
Implementação da função ou procedimento do objeto dentro do módulo definido em |
retorna obrigatório, cadeia de caracteres |
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 opcional, cadeia de caracteres |
Versão do Python a ser usada ao executar o procedimento ou função. Padrão: «3.8». |
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 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 CREATE PROCEDURE para obter mais detalhes. |
importações opcional, sequência de cadeias de caracteres |
Estágio e caminho para os arquivos enviados anteriormente que você deseja importar. Consulte CREATE PROCEDURE para obter mais detalhes. |
execute_as_caller opcional, booleano |
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). |