Von einer App benötigte Ressourcen angeben

Unter diesem Thema wird beschrieben, wie Sie die Datei marketplace.yml verwenden, um die Ressourcenanforderungen für eine Snowflake Native App zu deklarieren.

Die Datei marketplace.yml ist eine Konfigurationsdatei, ähnlich wie die manifest.yml-Datei einer App. Snowflake verwendet diese Datei in den folgenden Kontexten:

  • Die in den Eigenschaften required_compute_pools und connections angegebenen Objekte werden im Freigabeangebot in Snowsight angezeigt. So kann der Verbraucher sehen, welche Ressourcen die App möglicherweise benötigt.

  • Diese Datei kann dazu beitragen, das Erstellen oder Verwenden unnötiger Ressourcen zu vermeiden, z. B. die Replikation eines Anwendungspakets in eine Region, in der es nicht von einem Verbraucher installiert werden kann. Bevor der Verbraucher das Freigabeangebot in einer Remoteregion anfordert, stellt Snowflake sicher, dass der Verbraucher die in der Datei marketplace.yml deklarierten Ressourcenanforderungen erfüllt. Dies hilft, unnötige Replikationskosten zu vermeiden.

  • Vor der Installation und dem Upgrade der Anwendung stellt Snowsight sicher, dass die Anforderungen erfüllt sind, um zu verhindern, dass eine defekte/nicht verwendbare Anwendung installiert wird oder eine funktionierende Anwendung in einen nicht verwendbaren Zustand versetzt wird.

Diese optionale Datei muss sich im Stammverzeichnis einer App auf derselben Ebene wie die Datei manifest.yml befinden. Wenn diese Datei nicht vorhanden ist, wird keine Aktion durchgeführt.

Von einer App benötigte Computepools angeben

Das folgende Beispiel zeigt, wie Sie die für eine bestimmte Version einer App erforderlichen Computepool-Ressourcen angeben:

required_compute_pools:
  - HIGH_MEM_POOL_1:
      label: "High memory pool"
      description: "A compute pool for computational tasks."
      compatible_instance_families:
        - HIGHMEM_X64_M
        - HIGHMEM_X64_L
Copy

In diesem Beispiel wird für required_compute_pools ein Computepool namens HIGH_MEM_POOL_1 angegeben.

Die Eigenschaft compatible_instance_families gibt den Typ des Computers an, der für den Computepool bereitgestellt werden soll. Sie müssen für jeden Computepool mindestens einen Wert deklarieren. Weitere Informationen dazu finden Sie unter CREATE COMPUTE POOL.

Bemerkung

Wenn die Eigenschaft compatible_instance_families fehlt oder die Werte ungültig sind, schlägt das Erstellen der Version fehl.

Die von der App benötigten externen Endpunkte angeben

Das folgende Beispiel zeigt, wie Sie die von einer App benötigten externen Endpunkte deklarieren:

connections:
  - LAUNCH_DARKLY:
     label: "Launch Darkly"
     description: "Feature flag and configuration"
     required: true
     endpoints:
       - "mobile.launchdarkly.com"
       - "stream.launchdarkly.com"
  - OPEN_AI:
     label: "OpenAPI"
     description: "LLM Connection"
     required: false
     endpoints:
       - "openai.com"
Copy

In diesem Beispiel gibt die Eigenschaft connection die beiden externen Endpunkte LAUNCH_DARKLY und OPEN_AI an. Die Eigenschaft required zeigt dem Verbraucher in Snowsight an, dass die Verbindung erforderlich ist.

Wenn Sie die connection in dieser Datei angeben, sind die Eigenschaften endpoints und required erforderlich. Wenn diese Eigenschaften nicht vorhanden sind, schlägt das Erstellen der Version fehl. Die Eigenschaft endpoints erfordert mindestens eine URL.