EXECUTE SERVICE¶
Important
La fonction de tâches Snowpark Container Services est actuellement disponible en avant-première privée et est soumise aux conditions d’utilisation de l’avant-première disponibles à https://snowflake.com/legal. Contactez votre représentant Snowflake pour plus d’informations.
Démarre une tâche Snowpark Container Services. La tâche s’exécute de manière synchrone ; elle s’achève après la sortie de tous les conteneurs.
- Voir aussi :
Syntaxe¶
EXECUTE SERVICE
IN COMPUTE POOL <compute_pool_name>
{
FROM @<stage>
SPECIFICATION_FILE = '<yaml_file_stage_path>'
|
FROM SPECIFICATION <specification_text>
}
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <EAI_name> [ , ... ] ) ]
Paramètres requis¶
IN COMPUTE POOL compute_pool_name
Spécifie le nom du pool de calcul de votre compte sur lequel le service doit être exécuté.
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.
Paramètres facultatifs¶
EXTERNAL_ACCESS_INTEGRATIONS = ( EAI_name [ , ... ] )
Spécifie les noms des intégrations d’accès externes qui permettent à votre tâche d’accéder à des sites externes. Les noms de cette liste sont sensibles à la casse. Par défaut, les conteneurs d’application n’ont pas la permission d’accéder à Internet. Si vous souhaitez autoriser votre tâche à accéder à un site externe, créez une intégration d’accès externe (EAI) et configurez votre tâche pour qu’il utilise cette intégration. Pour plus d’informations, voir Sortie réseau.
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 |
---|---|---|
USAGE |
Pool de calcul |
|
READ |
Zone de préparation |
C’est à ce stade que la spécification est stockée. |
READ |
Référentiel d’images |
Référentiel d’images référencées par la spécification. |
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¶
L’ID de requête que la commande EXECUTE SERVICE renvoie est un identificateur unique pour la tâche de Snowpark Container Services.
Vous pouvez utiliser cet ID pour récupérer le statut de la tâche (SYSTEM$GET_JOB_STATUS) ou les journaux d’un conteneur de tâche (SYSTEM$GET_JOB_LOGS) pendant que la tâche est en cours.
Notez que vous pouvez appeler la fonction LAST_QUERY_ID immédiatement après avoir exécuté la commande EXECUTE SERVICE pour capturer l’ID de la tâche de requête pour référence ultérieure. Vous pouvez également utiliser l’interface Web Snowsight pour trouver l’ID de requête de la tâche.
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¶
Créer une tâche Snowpark Container Services :
EXECUTE SERVICE
IN COMPUTE POOL tutorial_compute_pool
FROM @tutorial_stage
SPECIFICATION_FILE='my_job_spec.yaml';