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:

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.