Snowpark Container Services: Verwenden von Image-Registry und Image-Repository¶
Snowpark Container Services bietet einen OCIv2-kompatiblen Image-Registry-Dienst und ein Speichereinheiten-Repository zum Speichern von Images.
Image-Registry¶
Der Image-Registry-Dienst dient der OCIv2-API zur Speicherung von OCI-konformen Containerimages.
Bemerkung
Für die private Vorschau muss Ihr Ansprechpartner die Snowflake Image Registry für Ihr Konto aktivieren. Dies ist erforderlich, bevor Sie Operationen der Snowpark Container Services ausführen können.
Hostname der Image-Registry¶
Jede Image-Registry in einem Snowflake-Konto hat einen eindeutigen Hostnamen, der es OCI-Clients (wie der Docker-CLI) ermöglicht, mit REST-API-Aufrufen auf eine Image-Registry zuzugreifen. Die allgemeine Syntax für einen Image-Registry-Hostnamen ist:
<orgname>-<acctname>.registry.snowflakecomputing.com
Im Hostnamen:
<orgname>-<acctname>
identifiziert ein Snowflake-Konto.registry
ermöglicht Snowflake, Registry-Kunden Hostnamen für jedes Konto bereitzustellen.Der Hostname wird immer in Kleinbuchstaben geschrieben.
Bemerkung
Ein Snowflake-Kontoname (<Kontoname>
) kann einen Unterstrich enthalten (z. B. my_account
), aber Unterstriche sind in einer URL nicht gültig. Wenn Sie einen Registry-Hostnamen verwenden, müssen Sie daher einen Unterstrich durch einen Bindestrich ersetzen. Ändern Sie zum Beispiel my_account
in my-account
.
Sie können die Informationen zu Ihrem Organisationsnamen und Kontonamen für die Hostnamen des Image-Repository auf eine der folgenden Arten finden:
Die Snowsight-Weboberfläche: Verwenden Sie die Kontoauswahl. Weitere Informationen dazu finden Sie unter Erste Schritte mit Snowsight.
Führen Sie den Befehl SHOW IMAGE REPOSITORIES aus.
Image-Repository¶
Eine Registry ist ein Dienst, der die OCIv2-API bedient, und ein Repository ist eine Speichereinheit, die Sie innerhalb des Dienstes erstellen.
Ein Repository ist ein benannter Speicherort in Ihrem Konto, an dem Sie Bilder speichern. Dies ist vergleichbar mit der Beziehung zwischen einem DBMS und einer Tabelle innerhalb des DBMS. Das heißt, ein DBMS ist gleichbedeutend mit einer Registry, und eine Tabelle ist gleichbedeutend mit einem Repository.
Sie können ein oder mehrere Repositorys in Ihrem Snowflake-Konto erstellen. So können DEV-, TEST- und PROD-Repositorys beispielsweise Images während Entwicklung, Test und Produktion speichern. Sie können auch Repositorys mit unterschiedlichen Berechtigungen erstellen, z. B. können einige Repositorys für bestimmte Rollen schreibgeschützt sein.
Zugriffssteuerung auf Repository-Ebene wird unterstützt, allerdings nicht auf der Ebene einzelner Images.
Für das Hochladen von Images in ein Image-Repository unterstützt der Registry-Dienst die Authentifizierung mit Benutzername und Kennwort und mit Single Sign-On (SSO).
Achtung
Tri-Secret Secure und Periodische Wiederverschlüsselung werden für Image-Repositorys von Snowpark Container Services nicht unterstützt. Das bedeutet, dass bei Konten, bei denen Tri-Secret Secure oder die periodische Wiederverschlüsselung aktiviert ist, zwar alle anderen Snowflake-Daten weiterhin mit zusätzlicher Sicherheit ausgestattet sind, die in den Image-Repositorys von Snowpark Container Services gespeicherten Images jedoch nicht.
Wenn Sie ein Image-Repository in einem Konto mit Tri-Secret Secure oder periodischer Wiederverschlüsselung erstellen möchten, müssen Sie daher zunächst bestätigen, dass Sie verstehen und damit einverstanden sind, dass Ihnen die Vorteile dieser zusätzlichen Sicherheit für Ihre Image-Repositorys nicht zur Verfügung stehen. Zur Bestätigung der Vereinbarung muss ein Kontoadministrator (Benutzer mit der Rolle ACCOUNTADMIN) den Parameter ENABLE_TRI_SECRET_AND_REKEY_OPT_OUT_FOR_IMAGE_REPOSITORY auf Kontoebene auf TRUE setzen.
Image-Repository-URL¶
Im Folgenden finden Sie eine allgemeine Syntax für eine Snowflake-Repository-URL:
<registry-hostname>/<db_name>/<schema_name>/<repository_name>
Beispiel:
myorg-myacct.registry.snowflake.com/my_db/my_schema/my_repository
Um die Repository-URL in Ihrem Konto zu suchen, verwenden Sie den Befehl SHOW IMAGE REPOSITORIES SQL.
Bemerkung
Die Snowflake-URL kodiert das $-Zeichen, das das einzige Nicht-URL-Zeichen ist, das Snowflake in Bezeichnern unterstützt (siehe Anforderungen an Bezeichner). Namen in doppelten Anführungszeichen, die Sonderzeichen enthalten, werden nicht unterstützt.
Wenn Sie eine Repository-URL manuell erstellen, ersetzen Sie die Unterstriche in einem Kontonamen (
my_acct
) durch Bindestriche (my-acct
).
Repository-Operationen¶
Zum Erstellen und Verwalten von Repositorys unterstützt Snowflake die folgenden Repository-Operationen:
CREATE IMAGE REPOSITORY
DROP IMAGE REPOSITORY
SHOW IMAGE REPOSITORIES
Um Images aufzulisten, die in einem Snowflake-Image-Repository gespeichert sind, verwenden Sie die folgende Funktion:
Ein Beispiel für das Erstellen eines Repositorys und das Hochladen eines Images finden Sie unter Grundlegende Tutorial-Einrichtung.
Berechtigungen für Repositorys¶
Wenn Sie ein Repository verwenden, gilt das folgende Berechtigungsmodell:
Um ein Repository in einem Schema zu erstellen, müssen Sie über die Berechtigung CREATE IMAGE REPOSITORY für das Schema verfügen.
Für die Repository-Verwaltung werden die folgenden Berechtigungen unterstützt:
Berechtigung
Verwendung
READ
Ermöglicht das Auflisten und Herunterladen von Images aus einem Repository.
WRITE
Ermöglicht das Auflisten und Herunterladen von Images aus einem Repository. Sie können auch Images in das Repository verschieben.
OWNERSHIP
Ermöglicht das Auflisten und Herunterladen von Images aus einem Repository. Sie können auch Images in das Repository verschieben.