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 Datei manifest.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 als OFF 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 Wert EXTERNAL ACCESS INTEGRATION oder SECRET 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
Copy