Travailler avec des registres d’images et des référentiels

Snowpark Container Services fournit un service de registre d’images conforme à OCIv2 et un référentiel d’appel d’unités de stockage pour stocker les images. Vous pouvez utiliser les commandes Snowflake CLI suivantes pour gérer les registres et référentiels d’images Snowpark Container Services :

Pour plus d’informations sur les référentiels d’images Snowpark Container Services, voir Snowpark Container Services : utilisation d’un registre et d’un référentiel d’images.

Gérer les registres d’images

Snowflake CLI vous permet d’effectuer les tâches suivantes avec les référentiels d’images Snowpark Container Services :

Pour les opérations courantes, telles que l’affichage sous forme de liste ou la suppression, Snowflake CLI utilise les commandes snow object décrites dans Gestion des objets Snowflake.

Obtenir des jetons d’environnement pour l’authentificateur du registre

Vous pouvez utiliser la commande snow spcs image-registry token pour renvoyer le jeton associé à la connexion spécifiée que vous pouvez utiliser pour vous authentifier auprès du registre.

snow spcs image-registry token --connection mytest
Copy
+----------------------------------------------------------------------------------------------------------------------+
| key        | value                                                                                                   |
|------------+---------------------------------------------------------------------------------------------------------|
| token      | ****************************************************************************************************    |
|            | ****************************************************************************************************    |
| expires_in | 3600                                                                                                    |
+----------------------------------------------------------------------------------------------------------------------+

Vous pouvez ensuite utiliser ce jeton pour vous connecter à un conteneur Docker en le faisant passer dans la commande docker login, comme dans l’exemple suivant :

snow spcs image-registry token --format=JSON | docker login <org>-<account>.registry.snowflakecomputing.com -u 0sessiontoken --password-stdin
Copy

Se connecter à un registre d’images

snow spcs image-registry login vous connecte à un référentiel d’images avec les identifiants de connexion spécifiés pour votre connexion. Avant de vous connecter, vous devez remplir les conditions suivantes :

  • Docker Desktop doit être installé car la commande utilise docker pour se connecter à Snowflake.

  • Le rôle actuel doit avoir les privilèges READ pour le référentiel d’images dans le compte pour obtenir l’URL de registre.

Pour vous connecter à un registre d’images avec les identifiants de connexion de votre compte, procédez comme suit :

snow spcs image-registry login
Copy
Login Succeeded

Récupérer l’URL pour un registre d’images

La commande snow spcs image-registry url renvoie une URL pour un référentiel d’images. Le rôle actuel doit avoir les privilèges READ pour le référentiel d’images dans le compte pour obtenir l’URL de registre.

Pour obtenir l’URL d’un référentiel, procédez comme suit :

snow spcs image-registry url
Copy
<orgname-acctname>.registry.snowflakecomputing.com

Gérer les référentiels d’images

Snowflake CLI vous permet d’effectuer les tâches suivantes avec les référentiels d’images Snowpark Container Services :

Pour les opérations courantes, telles que l’affichage sous forme de liste ou la suppression, Snowflake CLI utilise les commandes snow object décrites dans Gestion des objets Snowflake.

Créer un référentiel d’images

La commande snow spcs image-repository create crée un nouveau référentiel d’images dans le schéma actuel.

Pour créer un référentiel d’images, entrez une commande similaire à la suivante :

snow spcs image-repository create tutorial_repository
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

Récupérez l’URL pour un référentiel d’images

La commande snow spcs image-repository url permet d’obtenir l’URL pour un référentiel d’images.

Pour obtenir l’URL, entrez une commande similaire à la suivante :

snow spcs image-repository url tutorial_repository
Copy
<orgname-acctname>.registry.snowflakecomputing.com/tutorial_db/data_schema/tutorial_repository

Afficher la liste des balises et des images dans un référentiel d’images

La commande snow spcs image-repository list-images vous permet d’obtenir les images et les balises d’un référentiel d’images.

Pour lister les images et les balises d’un référentiel, entrez une commande similaire à la suivante, qui répertorie les images d’un référentiel nommé images dans la base de données my_db :

snow spcs image-repository list-images images --database my_db
Copy
+----------------------------+---------------+---------+-------------------------------------------------+-----------------------------------------+
| created_on                 | image_name    | tags    | digest                                          | image_path                              |
|----------------------------+---------------+---------+-------------------------------------------------+-----------------------------------------|
| 2024-10-11 14:23:49-07:00  | echo_service  | latest  | sha256:a8a001fef406fdb3125ce8e8bf9970c35af7084  | my_db/test_schema/images/echo_service:  |
|                            |               |         | fc33b0886d7a8915d3082c781                       | latest                                  |
| 2024-10-14 22:21:14-07:00  | test_counter  | latest  | sha256:8cae96dac29a4a05f54bb5520003f964baf67fc  | my_db/test_schema/images/test_counter:  |
|                            |               |         | 38dcad3d2c85d6c5aa7381174                       | latest                                  |
+----------------------------+---------------+---------+-------------------------------------------------+-----------------------------------------+