ALTER SERVICE

Modifie la configuration du service Snowpark Container Services, met à niveau le code du service et permet de suspendre ou de reprendre un service. Vous pouvez :

  • Appliquer des modifications à un service en cours d’exécution. Par exemple, suspendre ou reprendre un service, et mettre à jour le nombre d’instances de service en cours d’exécution.

  • Appliquer des modifications qui ne prennent effet qu’après le redémarrage du service. Par exemple, spécifier un entrepôt par défaut pour les requêtes.

  • Appliquer des modifications qui entraînent l’arrêt du service par Snowflake et redémarrer en utilisant le nouveau code. Par exemple, vous pourriez vouloir déployer un code de service mis à jour :

Voir aussi :

CREATE SERVICE , DESCRIBE SERVICE, DROP SERVICE , SHOW SERVICES

Syntaxe

ALTER SERVICE [ IF EXISTS ] <name> { SUSPEND | RESUME }

ALTER SERVICE [ IF EXISTS ] <name>
  {
    FROM @<stage>
    SPECIFICATION_FILE = '<yaml_file_stage_path>'
    |
    FROM SPECIFICATION <specification_text>
  }

ALTER SERVICE [ IF EXISTS ] <name> SET [ MIN_INSTANCES = <num> ]
                                       [ MAX_INSTANCES = <num> ]
                                       [ QUERY_WAREHOUSE = <warehouse_name> ]
                                       [ AUTO_RESUME = { TRUE | FALSE } ]
                                       [ COMMENT = '<string_literal>' ]

ALTER SERVICE [ IF EXISTS ] <name> UNSET { MIN_INSTANCES      |
                                           MAX_INSTANCES      |
                                           QUERY_WAREHOUSE    |
                                           AUTO_RESUME        |
                                           COMMENT
                                         }
                                         [ , ... ]
Copy

Paramètres

name

Indique l’identificateur du service à modifier.

Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus de détails, voir Exigences relatives à l’identificateur.

{ SUSPEND | RESUME }

Indique s’il faut suspendre ou reprendre le service.

Lorsque vous suspendez un service, Snowflake s’arrête et supprime les conteneurs. Si vous reprenez ultérieurement un service suspendu, Snowflake recrée les conteneurs. C’est-à-dire que Snowflake prend l’image de votre référentiel et démarre les conteneurs. Notez que si l’image dans le référentiel a été mise à jour, Snowflake utilise l’image mise à jour pour recréer les conteneurs.

Lorsque vous invoquez un service suspendu en utilisant une fonction de service ou en appelant le point de terminaison public (entrée), Snowflake reprend automatiquement le service.

FROM stage

Spécifie la zone de préparation interne de Snowflake où le fichier de spécification est stocké ; par exemple, « @tutorial_stage ».

SPECIFICATION_FILE = 'yaml_file_stage_path'

Spécifie le chemin d’accès au fichier de spécification du service sur la zone de préparation ; par exemple, « /some-dir/echo_spec.yaml ».

FROM SPECIFICATION specification_text

Spécifie la spécification du service. Vous pouvez utiliser une paire de signes du dollar ($$) pour délimiter le début et la fin de la chaîne de spécification.

SET ...

Définit une ou plusieurs propriétés ou paramètres spécifiés pour le service :

MIN_INSTANCES = num

Spécifie le nombre minimum d’instances de service.

MAX_INSTANCES = num

Spécifie le nombre maximum d’instances de service.

QUERY_WAREHOUSE = warehouse_name

Entrepôt à utiliser si un conteneur de service se connecte à Snowflake pour exécuter une requête, mais ne spécifie pas explicitement un entrepôt à utiliser.

AUTO_RESUME = { TRUE | FALSE }

Indique s’il faut reprendre automatiquement le service lorsque la fonction de service est appelée ou qu’une requête est reçue.

COMMENT = 'string_literal'

Spécifie un commentaire pour le pool de calcul.

UNSET ...

Spécifie une ou plusieurs propriétés et/ou un ou plusieurs paramètres à désactiver pour le service, qui les réinitialise aux valeurs par défaut (voir CREATE SERVICE) :

  • MIN_INSTANCES

  • MAX_INSTANCES

  • QUERY_WAREHOUSE

  • AUTO_RESUME

  • COMMENT

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

OPERATE

Service

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

Exemples

Suspendez un service.

ALTER SERVICE echo_service SUSPEND;
Copy

Modifiez les propriétés MIN_INSTANCES et MAX_INSTANCES d’un service existant.

ALTER SERVICE echo_service SET MIN_INSTANCES=3 MAX_INSTANCES=5;
Copy