Manifest-Datei für eine App mit Containern erstellen¶
Unter diesem Thema werden die Komponenten der Datei manifest.yml
in Snowflake Native Apps with Snowpark Container Services beschrieben. Weitere allgemeine Informationen zur manifest.yml
-Datei finden Sie unter Manifest-Datei für ein Anwendungspaket erstellen.
Von der App verwendete Container-Images angeben¶
Um den Speicherort der Container-Images anzugeben, die von der App mit Containern verwendet werden, fügen Sie die Eigenschaft images
zum Block artifacts.container_services
hinzu.
Sie müssen für jedes Image einen Eintrag einfügen. Der angegebene Pfad enthält die Namen von Datenbank, Schema und Image-Repository. Diese Pfadangabe hat das folgende Format:
/<database>/<schema>/<image_repository>/<image_name>:tag
Das folgende Beispiel zeigt, wie die Eigenschaft images
angegeben wird:
artifacts
...
container_services
...
images
- /dev_db/dev_schema/dev_repo/image1
- /dev_db/dev_schema/dev_repo/image2
Benutzer-Schnittstellenendpunkt für eine App angeben¶
Um den Benutzerschnittstellen-Endpunkt der App mit Containern festzulegen, fügen Sie die Eigenschaft default_web_endpoint
zum Block artifacts
hinzu.
Die Eigenschaft default_web_endpoint
ist optional. Wenn diese Eigenschaft angegeben ist, muss der Endpunkt auch in der Dienstspezifikationsdatei definiert sein.
Bemerkung
Es kann nur eine der beiden Optionen default_web_endpoint
und default_streamlit
angegeben werden.
Dieser Eintrag in der Manifest-Datei hat zwei zusätzliche Eigenschaften:
service
Gibt den Namen des Dienstes der Benutzerschnittstelle an.
endpoint
Gibt den Namen des Endpunkts an.
Das folgende Beispiel zeigt, wie Sie die Eigenschaft default_web_endpoint
angeben.
default_web_endpoint:
service: ux_schema.ux_service
endpoint: ui
Für die App erforderliche Berechtigungen angeben¶
Wie bei anderen Apps gibt die Eigenschaft references
der Datei manifest.yml
die Referenzen an, die eine App von Verbrauchern anfordert. Die folgenden Berechtigungen sind spezifisch für eine App mit Containern:
CREATE COMPUTE POOL
Diese Berechtigung ist erforderlich, damit die App einen Computepool im Verbraucherkonto erstellen kann. Sie ist nicht erforderlich, wenn der Verbraucher den Computepool manuell erstellt.
BIND SERVICE ENDPOINT
Diese Berechtigung ist erforderlich, damit ein Endpunkt auch von außerhalb von Snowflake zugänglich ist.
Das folgende Beispiel zeigt, wie Sie diese Berechtigungen zum privileges
-Block hinzufügen:
privileges:
- CREATE COMPUTE POOL
description: 'Required to allow the app to create a compute pool in the consumer account.'
- BIND SERVICE ENDPOINT
description: 'Required to allow endpoints to be externally accessible.'
Beispiel einer Manifest-Datei für eine App mit Containern¶
Das Snowflake Native App Framework unterstützt Einträge in der Manifest-Datei, die für eine App mit Containern spezifisch sind. Die folgende Beispiel für die Datei manifest.yml
zeigt eine typische Manifest-Datei für eine App mit Containern:
manifest_version: 1
version:
name: v1
artifacts:
readme: readme.md
setup_script: setup.sql
container_services:
images
- /dev_db/dev_schema/dev_repo/image1
- /dev_db/dev_schema/dev_repo/image2
default_web_endpoint:
service: ux_schema.ux_service
endpoint: ui
privileges:
- CREATE COMPUTE POOL
description: "...”
- BIND SERVICE ENDPOINT
description: "...”