Tutoriel 2 : Créer et gérer des tâches

Introduction

Dans ce tutoriel, vous apprendrez à soumettre des requêtes REST pour créer et gérer des tâches.

Conditions préalables

Note

Si vous avez déjà effectué les étapes de Configuration commune pour les tutoriels sur les APIs REST Snowflake, vous pouvez ignorer ces prérequis et passer à la première étape de ce tutoriel.

Avant de commencer ce tutoriel, vous devez compléter les instructions de la configuration commune, qui comprennent les étapes suivantes :

  • Importez les collections Snowflake REST APIs Postman.

  • Authentifiez votre connexion en définissant le jeton porteur dans Postman.

Après avoir rempli ces conditions préalables, vous êtes prêt à commencer à utiliser l’API.

Créer un entrepôt

Vous pouvez utiliser l’API Warehouse pour créer un entrepôt Snowflake.

Pour créer un très petit entrepôt (xsmall) nommé demo_wh, envoyez la requête POST au point de terminaison /api/v2/warehouses, comme indiqué :

  • Dans l’onglet Params, définissez le paramètre createMode sur errorIfExists, ce qui garantit que vous n’écrasez pas involontairement un entrepôt existant.

    ../../../_images/create-warehouse-params.png
  • Dans l’onglet Body, ajoutez le code suivant au corps de la requête comme indiqué.

    {
      "name": "demo_wh",
      "warehouse_size": "xsmall"
    }
    
    Copy
    ../../../_images/create-warehouse1.png

Pour plus d’informations, voir la référence d’API Snowflake Warehouse.

Créer une tâche

Vous pouvez utiliser l’API Task pour créer une tâche Snowflake.

Pour créer une tâche, envoyez une requête POST demande au point de terminaison /api/v2/databases/{database}/schemas/{schema}/tasks, comme indiqué :

  • Dans l’onglet Params, définissez le paramètre createMode sur orReplace, et définissez les variables de chemin database et schema pour utiliser les variables d’environnement ({{default_db}} et {{default_schema}}) que vous définissez dans les tutoriels Configuration commune pour les tutoriels sur les APIs REST Snowflake.

    ../../../_images/create-task-params.png
  • Dans l’onglet Body, ajoutez le corps de la requête comme indiqué.

    {
      "name": "{{test_task_name}}",
      "definition": "SELECT 1",
      "warehouse": "{{default_wh}}",
      "schedule": {"minutes": 2, "schedule_type": "MINUTES_TYPE"},
      "config": {"consecteture": false, "sed_9": 61393640, "doloref3": -85761000},
      "commnent": "comment",
      "session_parameters": {
        "TIMEZONE": "America/Los Angeles",
        "AUTOMCOMMIT": true
      },
      "error_integration": null,
      "user_task_managed_initial_warehouse_size": null,
      "predecessors": null,
      "task_auto_retry_attempts": 3,
      "user_task_timeout_ms": 10000,
      "suspend_task_after_num_failures": 3,
      "condition": true,
      "allow_overlapping_execution": false
    }
    
    Copy
    ../../../_images/create-task1.png

Pour plus d’informations, voir la référence d’API Snowflake Task.

Récupérer une tâche

Vous pouvez utiliser l’API Task pour récupérer une tâche Snowflake.

Pour récupérer les détails d’une tâche, envoyez une requête GET au point de terminaison /api/v2/databases/{database}/schemas/{schema}/tasks comme indiqué :

Pour plus d’informations, voir la référence d’API Snowflake Task.

Répertorier les tâches

Vous pouvez utiliser l’API Task pour lister les tâches Snowflake.

Pour lister toutes les tâches disponibles, envoyez une requête GET au point de terminaison /api/v2/databases/{database}/schemas/{schema}/tasks, comme indiqué :

Pour plus d’informations, voir la référence d’API Snowflake Task.

Supprimer une tâche

Vous pouvez utiliser lAPI Task pour supprimer une tâche Snowflake.

Pour supprimer une tâche, envoyez une requête DELETE au point de terminaison /api/v2/databases/{database}/schemas/{schema}/tasks/{name}, comme indiqué :

Pour plus d’informations, voir la référence d’API Snowflake Task.

Exécuter une tâche

Vous pouvez utiliser l’API Task pour exécuter une tâche Snowflake.

Pour exécuter une tâche qui ne sera pas réessayée en cas d’échec, envoyez une requête POST point de terminaison the /api/v2/databases/{database}/schemas/{schema}/tasks/{name}:execute, comme indiqué :

Pour plus d’informations, voir la référence d’API Snowflake Task.

Graphiques complets

Note

Ce tutoriel suppose que vous avez défini un entrepôt par défaut.

Vous pouvez utiliser l’API Task pour renvoyer les détails des exécutions graphiques terminées.

Pour renvoyer les détails des exécutions de graphiques terminées pour une tâche, envoyez une requête GET au point de terminaison /api/v2/databases/{database}/schemas/{schema}/tasks/{name};execute, comme indiqué :

  • Dans l’onglet Params, procédez comme suit :

    • Définissez les paramètres de requête resultLimit et errorOnly sur 5 et false, respectivement.

    • Définissez les variables de chemin database, schema, et name pour utiliser les variables d’environnement ({{default_db}}, {{default_schema}}, et {{test_task_name}}) que vous définissez dans les tutoriels Configuration commune pour les tutoriels sur les APIs REST Snowflake.

    ../../../_images/complete-graphs.png

Pour plus d’informations, voir la référence d’API Snowflake Task.

Créer une tâche enfant

Vous pouvez utiliser l’API Task pour créer une tâche enfant pour une tâche Snowflake existante.

Pour créer une tâche enfant, envoyez une requête POST demande au point de terminaison /api/v2/databases/{database}/schemas/{schema}/tasks, comme indiqué :

  • Dans l’onglet Params, définissez le paramètre createMode sur orReplace, et définissez les variables de chemin database et schema pour utiliser les variables d’environnement ({{default_db}} et {{default_schema}}) que vous définissez dans les tutoriels Configuration commune pour les tutoriels sur les APIs REST Snowflake.

    ../../../_images/create-task-params.png
  • Dans l’onglet Body, ajoutez le corps de la requête comme indiqué. Le paramètre name spécifie le nom de la tâche enfant et predecessors identifie le nom de la tâche parent.

    {
      "name": "test_child_task",
      "definition": "SELECT 1",
      "warehouse": "{{default_wh}}",
      "predecessors": "{{test_task_name}}"
    }
    
    Copy
    ../../../_images/create-child-task.png

Pour plus d’informations, voir la référence d’API Snowflake Task.

Récupérer les tâches dépendantes d’une tâche parent

Note

Ce tutoriel suppose que vous avez défini un entrepôt par défaut.

Vous pouvez utiliser l’API Task pour récupérer la tâche enfant (dépendante) d’une tâche Snowflake.

Pour récupérer les détails d’une tâche enfant (dépendante), envoyez une requête GET au point de terminaison /api/v2/databases/{database}/schemas/{schema}/tasks/{name}/dependents, comme indiqué :

  • Dans l’onglet Params, définissez le paramètre de requête recursive sur true, et définissez les variables de chemin database, schema, et name à utiliser comme variables d’environnement ({{default_db}}, {{default_schema}}, et {{test_task_name}}) que vous définissez dans les tutoriels Configuration commune pour les tutoriels sur les APIs REST Snowflake.

    ../../../_images/get-task-dependents.png

    Notez que le résultat inclut à la fois la tâche parent et sa tâche enfant.

Pour plus d’informations, voir la référence d’API Snowflake Task.

Quelle est la prochaine étape ?

Félicitations ! Dans ce tutoriel, vous avez appris les principes fondamentaux de la gestion des ressources d’entrepôt et de tâches Snowflake à l’aide de Snowflake REST APIs.

Résumé

En cours de route, vous avez accompli les étapes suivantes :

  • Créez un entrepôt.

  • Créez une tâche.

  • Récupérez une tâche.

  • Supprime une tâche.

  • Exécute la tâche.

  • Complétez les graphiques.

  • Créez une tâche enfant.

  • Récupérez les tâches dépendantes d’une tâche parent.