Tutorial 2: Crie e gerencie tarefas

Introdução

Neste tutorial, você aprenderá como enviar consultas REST para criar e gerenciar tarefas.

Pré-requisitos

Nota

Se você já concluiu as etapas em Configuração comum para tutoriais das APIs REST do Snowflake, pode pular esses pré-requisitos e prosseguir para a primeira etapa deste tutorial.

Antes de iniciar este tutorial, é necessário concluir as instruções de configuração comuns, que incluem as seguintes etapas:

  • Importe as coleções Postman das APIs REST Snowflake.

  • Autentique sua conexão configurando o token de portador no Postman.

Após concluir esses pré-requisitos, você estará pronto para começar a usar a API.

Criação de um warehouse

É possível usar a Warehouse API para criar um warehouse Snowflake.

Para criar um warehouse extra pequeno (xsmall) nomeado demo_wh, envie a seguinte solicitação POST ao ponto de extremidade /api/v2/warehouses, conforme mostrado:

  • Na guia Params, defina o parâmetro createMode como errorIfExists, o que garante que você não substitua involuntariamente um warehouse existente.

    ../../../_images/create-warehouse-params.png
  • Na guia Body, adicione o seguinte código ao corpo da solicitação, conforme mostrado.

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

Para obter mais informações, consulte a Referência da Snowflake Warehouse API.

Criação de uma tarefa

É possível usar a Task API para criar uma tarefa Snowflake.

Para criar uma tarefa, envie uma solicitação POST ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks, conforme mostrado:

  • Na guia Params, defina o parâmetro createMode como orReplace e defina as variáveis de caminho database e schema para usar as variáveis de ambiente ({{default_db}} e {{default_schema}}) que você definiu nos tutoriais Configuração comum para tutoriais das APIs REST do Snowflake.

    ../../../_images/create-task-params.png
  • Na guia Body, adicione o corpo de solicitação, conforme mostrado.

    {
      "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

Para obter mais informações, consulte a Referência da Snowflake Task API.

Como buscar uma tarefa

É possível usar a Task API para buscar uma tarefa Snowflake.

Para obter detalhes sobre uma tarefa, envie uma solicitação GET ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks, conforme mostrado:

Para obter mais informações, consulte a Referência da Snowflake Task API.

Listagem de tarefas

É possível usar a Task API para listar tarefas Snowflake.

Para listar todas as tarefas disponíveis, envie uma solicitação GET ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks, conforme mostrado:

Para obter mais informações, consulte a Referência da Snowflake Task API.

Exclusão de uma tarefa

É possível usar a Task API para excluir uma tarefa Snowflake.

Para excluir uma tarefa, envie uma solicitação DELETE ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks/{name}, conforme mostrado:

Para obter mais informações, consulte a Referência da Snowflake Task API.

Execução de uma tarefa

É possível usar a Task API para executar uma tarefa Snowflake.

Para executar uma tarefa que não será repetida se falhar, envie uma solicitação POST ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks/{name}:execute, conforme mostrado:

Para obter mais informações, consulte a Referência da Snowflake Task API.

Como completar gráficos

Nota

Este tutorial pressupõe que você tenha um warehouse padrão definido.

É possível usar a Task API para retornar detalhes de execuções de gráfico concluídas.

Para retornar detalhes de execuções de gráfico concluídas para uma tarefa, envie uma solicitação GET ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks/{name}:execute, conforme mostrado:

  • Na guia Params, faça o seguinte:

    • Defina os parâmetros de consulta resultLimit e errorOnly como 5 e false, respectivamente.

    • Defina as variáveis de caminho codenowrap:database, schema e name para usar as variáveis de ambiente ({{default_db}}, {{default_schema}} e {{test_task_name}}) que você definiu nos tutoriais Configuração comum para tutoriais das APIs REST do Snowflake.

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

Para obter mais informações, consulte a Referência da Snowflake Task API.

Criação de uma tarefa filho

É possível usar a Task API para criar uma tarefa filho para uma tarefa Snowflake existente.

Para criar uma tarefa filho, envie uma solicitação POST ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks, conforme mostrado:

  • Na guia Params, defina o parâmetro createMode como orReplace e defina as variáveis de caminho database e schema para usar as variáveis de ambiente ({{default_db}} e {{default_schema}}) que você definiu nos tutoriais Configuração comum para tutoriais das APIs REST do Snowflake.

    ../../../_images/create-task-params.png
  • Na guia Body, adicione o corpo de solicitação, conforme mostrado. O parâmetro name especifica o nome da tarefa filho e predecessors identifica o nome da tarefa pai.

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

Para obter mais informações, consulte a Referência da Snowflake Task API.

Como buscar tarefas dependentes de uma tarefa pai

Nota

Este tutorial pressupõe que você tenha um warehouse padrão definido.

É possível usar a Task API para buscar uma tarefa filho (dependente) da tarefa Snowflake.

Para obter detalhes sobre uma tarefa filho (dependente), envie uma solicitação GET ao ponto de extremidade /api/v2/databases/{database}/schemas/{schema}/tasks/{name}/dependents, conforme mostrado:

  • Na guia Params, defina o parâmetro de consulta recursivo recursive como true, e defina as variáveis de caminho database, schema e name para usar as variáveis de ambiente ({{default_db}}, {{default_schema}} e {{test_task_name}}) que você definiu nos tutoriais Configuração comum para tutoriais das APIs REST do Snowflake.

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

    Observe que o resultado inclui a tarefa pai e sua tarefa filho.

Para obter mais informações, consulte a Referência da Snowflake Task API.

Qual é o próximo passo?

Parabéns! Neste tutorial, você aprendeu os fundamentos para gerenciar recursos de tarefa e warehouse do Snowflake usando o Snowflake REST APIs.

Resumo

Ao longo do processo, você concluiu as seguintes etapas:

  • Crie um warehouse.

  • Crie uma tarefa.

  • Busque uma tarefa.

  • Exclua uma tarefa.

  • Execute uma tarefa.

  • Compete gráficos.

  • Crie uma tarefa filho.

  • Busque tarefas dependentes de uma tarefa pai.