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
undconnections
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
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"
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.