Manifest-Datei für ein Anwendungspaket erstellen¶
Unter diesem Thema wird beschrieben, wie Sie die Manifest-Datei für ein Anwendungspaket erstellen.
Allgemeine Informationen zur Manifest-Datei¶
Die Manifest-Datei enthält Informationen, die das Anwendungspaket benötigt, um einen Snowflake Native App zu erstellen und zu verwalten. Dazu gehören der Speicherort des Setup-Skripts, die Definitionen der Versionen und die Konfigurationsinformationen für die App.
Für die Manifest-Datei gelten folgende Anforderungen:
Der Name der Manifest-Datei muss
manifest.yml
sein.Die Manifest-Datei muss in einen benannten Stagingbereich hochgeladen werden, damit das Anwendungspaket auf sie zugreifen kann.
Die Manifest-Datei muss im Stammverzeichnis der Verzeichnisstruktur im benannten Stagingbereich vorhanden sein, in dem auch andere Anwendungsdateien gespeichert sind.
Referenz zur Manifest-Datei¶
Die folgenden Eigenschaften sind zulässig und können in der Datei manifest.yml
enthalten sein:
- manifest_version:
Gibt die Version der Manifest-Datei an.
Erforderlich
- version:
Definiert einen Block mit Parametern, die sich auf eine Version beziehen. Weitere Informationen zu Versionen und Patches finden Sie unter Allgemeine Informationen zu Versionen und Patches.
Optional
- name:
Gibt den logischen Namen der Version an. Dieser Name wird in SQL-Befehlen verwendet, mit denen Versionen verwaltet werden.
Optional
- Patch:
Gibt die Standard-Patch-Nummer an. Diese Nummer wird in SQL-Befehlen verwendet, die Versionen verwalten. Patch-Nummern, die mit SQL angegeben werden, haben Vorrang. Weitere Informationen zu Versionen und Patches finden Sie unter Allgemeine Informationen zu Versionen und Patches.
Optional
- label:
Gibt einen Namen für die Version an, die den Verbrauchern angezeigt wird.
Optional
- comment:
Gibt einen Kommentar zu der Version an. Dieser Kommentar ist nur sichtbar, wenn der Anbieter den Befehl SHOW VERSIONS ausführt.
Optional
- artifacts:
Definiert einen Block, der sich auf Ressourcen bezieht, die von dieser Version des Pakets bereitgestellt werden.
Optional
- readme:
Gibt einen Pfad zu einer Readme-Datei an, die einen Überblick zu der Snowflake Native App im Markdown-Format bereitstellt. Wenn im Falle einer Streamlit-App kein Wert für die Eigenschaft
default_streamlit
angegeben ist, wird der Inhalt dieser Datei den Verbrauchern angezeigt, wenn diese die installierte Snowflake Native App anzeigen.Der Speicherort dieser Datei wird relativ zum Speicherort der Datei
manifest.yml
angegeben.Optional
- setup_script:
Gibt den Pfad und den Dateinamen des SQL-Skripts an, das bei der Installation der Snowflake Native App ausgeführt wird. Wenn Sie keinen Wert angeben, lautet der Standardwert
setup.sql
im gleichen Verzeichnis wie die Dateimanifest.yml
.Optional
- default_streamlit:
Wenn Snowflake Native App eine Streamlit-App enthält, gibt diese Eigenschaft das Schema und den Namen der standardmäßigen Streamlit-App an, die für Verbraucher verfügbar ist.
Optional
- configuration:
Gibt einen Block an, der Konfigurationseigenschaften für die Snowflake Native App enthält.
Optional
- log_level:
Gibt den Protokolliergrad an, der für die installierte Snowflake Native App verwendet werden soll. Informationen über unterstützte Werte für diese Eigenschaft finden Sie unter Einstellung der Grade für Protokollierung, Metriken und Ablaufverfolgung.
Optional
Standard: Aus
- trace_level:
Gibt die Ablaufverfolgungsereignis-Ebene an, die für die installierte Snowflake Native App verwendet werden soll. Wenn ein Anbieter die Ablaufverfolgung aktiviert, erfasst eine Snowflake Native App automatisch die Start- und Endzeiten für alle Abfragen und Aufrufe gespeicherter Prozeduren.
Bemerkung
Das Veröffentlichen einer Snowflake Native App mit der Eigenschaft
trace_level
, die auf einen anderen Wert alsOFF
eingestellt ist, könnte jedem Benutzer im Verbraucherkonto, der die Ereignistabelle einsehen kann, Aufrufe zu verborgenen gespeicherten Prozeduren offenlegen.Weitere Informationen zu den unterstützten Werten der
trace_level
-Eigenschaft finden Sie unter Einstellung der Grade für Protokollierung, Metriken und Ablaufverfolgung.Optional
Standard: Aus
- privileges:
Definiert einen Block mit den Berechtigungen, die der Verbraucher bei der Installation der Snowflake Native App zuweisen muss.
Optional
Standard: Leere Liste
- <Name der Berechtigung>:
Gibt den Namen der Berechtigung an.
- description:
Liefert eine Beschreibung der angeforderten Berechtigung. Der in
description
angegebene Text wird dem Verbraucher angezeigt, wenn die Berechtigung in Snowsight mit dem Befehl Python Permission SDK angezeigt wird, oder wenn der SHOW PRIVILEGES-Befehl ausgeführt wird.Stellen Sie so viele Informationen wie möglich bereit, warum der Snowflake Native App diese Berechtigung benötigt und ob die Berechtigung erforderlich oder optional ist.
Erforderlich, wenn
privileges
angegeben ist.
- references:
Definiert einen Block, der die vom Anbieter definierten Referenzen enthält. Der Verbraucher muss diese Referenzen an Objekte in seinem Konto binden.
Optional
- - <Name der Referenz>:
Gibt den Namen der Referenz an.
- label:
Liefert eine Beschreibung der Referenz, die der Verbraucher bei der Installation der Snowflake Native App einsehen kann.
Erforderlich, wenn
references
angegeben ist.- description:
Liefert eine Beschreibung der angeforderten Referenz. Der in
description
angegebene Text wird dem Verbraucher angezeigt, wenn die Referenz in Snowsight unter Verwendung der Python Permission SDK angezeigt wird.Sie sollten so viele Informationen wie möglich darüber bereitstellen, warum die Snowflake Native App diese Referenz benötigt und ob die Berechtigung erforderlich oder optional ist.
Erforderlich, wenn
privileges
angegeben ist.- privileges:
Gibt die Berechtigungen an, die für die Referenz erforderlich sind.
Erforderlich, wenn
references
angegeben ist.- object_type:
Gibt den Typ des Objekts an, das der Referenz zugeordnet ist, z. B. ein Schema und eine Tabelle oder eine API-Integration.
Erforderlich, wenn
references
angegeben ist.- multi_valued:
Gibt an, dass der Referenz mehr als ein Objekt zugeordnet ist. Verwenden Sie diese Eigenschaft, um mehrere Verbraucherobjekte an dieselbe Referenz zu binden. Wenn diese Eigenschaft angegeben ist, werden die gleichen Operationen an Objekten mit einer einzigen Wertreferenz durchgeführt. Die Eigenschaft kann auch für Objekte mit mehrwertigen Referenzen verwendet werden. Siehe Referenzen und Berechtigungen auf Objektebene von Verbrauchern anfordern, um mehr über Snowflake Native App Framework-Referenzoperationen zu erfahren.
Optional
Standard: „false“
- register_callback:
Gibt den Namen der Callback-Funktion an, die zum Aufrufen der Referenz verwendet wird.
Erforderlich, wenn
references
angegeben ist.- configuration_callback:
Gibt den Namen der Callback-Funktion an, die die gewünschte Konfiguration für das Objekt bereitstellt, das an diese Referenz gebunden werden soll.
Diese Eigenschaft ist erforderlich, wenn
object_type
den WertEXTERNAL ACCESS INTEGRATION
oderSECRET
hat. Diese Eigenschaft ist nicht auf andere Typen von Objekten anwendbar.- required_at_setup:
Zeigt an, dass Referenzen gebunden werden müssen, wenn die App installiert wird. Akzeptiert: TRUE oder FALSE Der Standardwert ist FALSE.
Erforderlich, wenn
references
angegeben ist.
Beispiel einer Manifest-Datei¶
Das folgende Beispiel zeigt eine typische Manifest-Datei, in der Werte für alle unterstützten Eigenschaften angegeben sind:
manifest_version: 1 # required
version:
name: hello_snowflake
patch: 3
label: "v1.0"
comment: "The first version of a Snowflake Native App"
artifacts:
readme: readme.md
setup_script: scripts/setup.sql
default_streamlit: streamlit/ux_schema.homepage_streamlit
configuration:
log_level: debug
trace_level: always
privileges:
- EXECUTE TASK:
description: "Run ingestion tasks for replicating Redshift data"
- EXECUTE MANAGED TASK:
description: "To run serverless ingestion tasks for replicating Redshift data"
- CREATE WAREHOUSE:
description: "To create warehouses for executing tasks"
- MANAGE WAREHOUSES:
description: "To manage warehouses for optimizing the efficiency of your accounts"
- CREATE DATABASE:
description: "To create sink databases for replicating Redshift data"
- IMPORTED PRIVILEGES ON SNOWFLAKE DB:
description: "To access account_usage views"
- READ SESSION:
description: "To allow Streamlit to access some context functions"
references:
- consumer_table:
label: "Consumer table"
description: "A table in the consumer account that exists outside the APPLICATION object."
privileges:
- SELECT
- INSERT
- UPDATE
object_type: Table
multi_valued: true
register_callback: config.register_reference
- consumer_external_access:
label: "Consumer external access integration"
description: "An external access integration in the consumer account that exists outside the APPLICATION object."
privileges:
- USAGE
object_type: EXTERNAL ACCESS INTEGRATION
register_callback: config.register_reference
configuration_callback: config.get_configuration_for_reference
required_at_setup: true