Snowpark-Projektdefinition erstellen¶
Die Datei snowflake.yml
enthält die Deklarationen der Funktionen und Prozeduren für ein Snowpark-Projekt.
Bemerkung
Derzeit muss die Snowpark-Projektdefinitionsdatei den Namen snowflake.yml
tragen.
Der folgende Codeausschnitt zeigt ein Beispiel für eine Snowpark-Projektdefinitionsdatei: mit zwei Funktionen und zwei Prozeduren. Die Funktion hello_function
nutzt externe Funktionen von 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
Vorsicht
Dateien in einem Projektverzeichnis werden von Snowflake CLI verarbeitet und können beim Ausführen anderer snow snowpark
-Befehle in Snowflake hochgeladen werden. Seien Sie vorsichtig, wenn Sie sensible Informationen in Dateien in einem Projektverzeichnis ablegen.
Eigenschaften von Funktions- und Prozedurobjekten¶
Die folgende Tabelle beschreibt die von Funktionen und Prozeduren verwendeten Eigenschaften.
Eigenschaft |
Definition |
---|---|
Bezeichner optional, string |
Optionaler Snowflake-Bezeichner für die Entität. Der Wert kann die folgenden Formen annehmen:
|
type optional, string |
Muss eine der folgenden Funktionen sein: |
Artefakte erforderlich, string sequence |
Auflistung der erforderlichen Ressourcen. |
handler erforderlich, string |
Die Implementierung der Funktion oder Prozedur des Objekts innerhalb des in |
returns erforderlich, string |
SQL Typ des Ergebnisses. Sehen Sie sich die Liste der verfügbaren Typen an. |
signature erforderlich, sequence |
Der Parameter signature:
- name: "first_argument"
type: int
- name: "second_argument"
default: "default value"
type: string
Wenn eine Funktion oder Prozedur keine Argumente benötigt, setzen Sie diesen Wert auf eine leere Zeichenfolge ( Überprüfen Sie die Spalte SQL Typ von verfügbaren Typen. Weitere Informationen zur Syntax von benannten und optionalen Argumenten finden Sie unter Aufrufen einer UDF mit optionalen Argumenten. |
runtime optional, string |
Python-Version, die beim Ausführen der Prozedur oder Funktion verwendet werden soll. Standard: „3.8“. |
external_access_integrations optional, string sequence |
Die Namen der Integrationen für den externen Zugriff, die benötigt werden, damit der Handler-Code dieser Prozedur auf externe Netzwerke zugreifen kann. Weitere Informationen dazu finden Sie unter CREATE PROCEDURE. |
secrets optional, dictionary |
Weist die Namen von Geheimnissen Variablen zu, sodass Sie die Variablen verwenden können, um auf die Geheimnisse zu verweisen, wenn Sie Informationen aus Geheimnissen im Handler-Code abrufen. Weitere Informationen dazu finden Sie unter CREATE PROCEDURE. |
imports optional, string sequence |
Stagingbereich und Pfad zu den zuvor hochgeladenen Dateien, die Sie importieren möchten. Weitere Informationen dazu finden Sie unter CREATE PROCEDURE. |
execute_as_caller optional, bool |
Nur für Prozeduren verfügbar. Bestimmen Sie, ob die Prozedur mit den Berechtigungen des Eigentümers (Sie) oder mit den Berechtigungen des Aufrufers ausgeführt wird. Standard: „false“ (Berechtigungen des Eigentümers). |