Task

List tasks

GET/api/v2/databases/{database}/schemas/{schema}/tasks
Lists tasks under the database and schema, with show options as query parameters.

경로 매개 변수

매개 변수타입설명
database
Identifier (i.e. name) for the database to which the resource belongs. You can use the /api/v2/databases GET request to get a list of available databases.
schema
Identifier (i.e. name) for the schema to which the resource belongs. You can use the /api/v2/databases/{database}/schemas GET request to get a list of available schemas for the specified database.

쿼리 매개 변수

매개 변수타입설명
rootOnlyboolean
Query parameter to filter the command output to return only root resources (resources with no predecessors).
likestring
Query parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters.
startsWithstring
Query parameter to filter the command output based on the string of characters that appear at the beginning of the object name. Uses case-sensitive pattern matching.
showLimitinteger
Query parameter to limit the maximum number of rows returned by a command.
fromNamestring
Query parameter to enable fetching rows only following the first row whose object name matches the specified string. Case-sensitive and does not have to be the full name.

응답

코드설명
200
successful
[
  {
    "name": "name_example",
    "warehouse": "test_wh",
    "schedule": {
      "schedule_type": "MINUTES_TYPE",
      "minutes": 10
    },
    "comment": "test_comment",
    "config": {
      "output_dir": "/temp/test_directory/",
      "learning_rate": "0.1"
    },
    "definition": "this task does...",
    "predecessors": [
      "task1",
      "task2",
      "task3"
    ],
    "user_task_managed_initial_warehouse_size": "XSMALL",
    "user_task_timeout_ms": 10,
    "suspend_task_after_num_failures": 3,
    "condition": "select 1",
    "allow_overlapping_execution": false,
    "error_integration": "my_notification_int",
    "created_on": "2024-06-18T01:01:01.111111",
    "id": "task_id",
    "owner": "TASK_ADMIN",
    "owner_role_type": "ADMIN",
    "state": "started",
    "last_committed_on": "2024-06-18T01:01:01.111111",
    "last_suspended_on": "2024-06-18T01:01:01.111111",
    "database_name": "TESTDB",
    "schema_name": "TESTSCHEMA"
  }
]
이름타입설명
X-Snowflake-Request-IDstringUnique ID of the API request.
LinkstringLinks to the page of results (e.g. the first page, the last page, etc.). The header can include multiple 'url' entries with different 'rel' attribute values that specify the page to return ('first', 'next', 'prev', and 'last').
202
Successfully accepted the request, but it is not completed yet.
{
  "code": "392604",
  "message": "Request execution in progress. Use the provided location header or result handler ID to perform query monitoring and management."
}
이름타입설명
LocationstringRelative path for checking request status or getting the result, if available.
X-Snowflake-Request-ID
400Bad Request. The request payload is invalid or malformed. This happens if the application didn't send the correct request payload. The response body may include the error code and message indicating the actual cause. The application must reconstruct the request body for retry.
401Unauthorized. The request is not authorized. This happens if the attached access token is invalid or missing. The response body may include the error code and message indicating the actual cause, e.g., expired, invalid token. The application must obtain a new access token for retry.
403Forbidden. The request is forbidden. This can also happen if the request is made even if the API is not enabled.
404Not Found. The request endpoint is not valid. This happens if the API endpoint does not exist, or if the API is not enabled.
405Method Not Allowed. The request method doesn't match the supported API. This happens, for example, if the application calls the API with GET method but the endpoint accepts only POST.
408Request Timeout. This indicates that the request from the client timed out and was not completed by the server.
409Conflict. The requested operation could not be performed due to a conflicting state that could not be resolved. This usually happens when a CREATE request was performed when there is a pre-existing resource with the same name, and also without one of the options orReplace/ifNotExists.
429Limit Exceeded. The number of requests hit the rate limit. The application must slow down the frequency of hitting the API endpoints.
500Internal Server Error. The server hit an unrecoverable system error. The response body may include the error code and message for further guidance. The application owner may need to reach out the customer support.
503Service Unavailable. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended.
504Gateway Timeout. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended.
매개 변수타입설명

Create a task

POST/api/v2/databases/{database}/schemas/{schema}/tasks
Create a task, with standard create modifiers as query parameters. See the Task component definition for what is required to be provided in the request body.

쿼리 매개 변수

매개 변수타입설명
createModestring
Query parameter allowing support for different modes of resource creation. Possible values include:
  • errorIfExists: Throws an error if you try to create a resource that already exists.
  • orReplace: Automatically replaces the existing resource with the current one.
  • ifNotExists: Creates a new resource when an alter is requested for a non-existent resource.
매개 변수타입설명
{
  "name": "name_example",
  "warehouse": "test_wh",
  "schedule": {
    "schedule_type": "MINUTES_TYPE",
    "minutes": 10
  },
  "comment": "test_comment",
  "config": {
    "output_dir": "/temp/test_directory/",
    "learning_rate": "0.1"
  },
  "definition": "this task does...",
  "predecessors": [
    "task1",
    "task2",
    "task3"
  ],
  "user_task_managed_initial_warehouse_size": "XSMALL",
  "user_task_timeout_ms": 10,
  "suspend_task_after_num_failures": 3,
  "condition": "select 1",
  "allow_overlapping_execution": false,
  "error_integration": "my_notification_int",
  "created_on": "2024-06-18T01:01:01.111111",
  "id": "task_id",
  "owner": "TASK_ADMIN",
  "owner_role_type": "ADMIN",
  "state": "started",
  "last_committed_on": "2024-06-18T01:01:01.111111",
  "last_suspended_on": "2024-06-18T01:01:01.111111",
  "database_name": "TESTDB",
  "schema_name": "TESTSCHEMA"
}

응답

코드설명
200
Successful request.
{
  "status": "Request successfully completed"
}
이름타입
X-Snowflake-Request-ID
202
400
401
403
404
405
408
409
429
500
503
504
매개 변수타입설명
statusstringMessage returned by the server.

Fetch a task

GET/api/v2/databases/{database}/schemas/{schema}/tasks/{name}
Fetch a task using the describe command output.

경로 매개 변수

매개 변수타입설명
name
Identifier (i.e. name) for the resource.

응답

코드설명
200
successful
{
  "name": "name_example",
  "warehouse": "test_wh",
  "schedule": {
    "schedule_type": "MINUTES_TYPE",
    "minutes": 10
  },
  "comment": "test_comment",
  "config": {
    "output_dir": "/temp/test_directory/",
    "learning_rate": "0.1"
  },
  "definition": "this task does...",
  "predecessors": [
    "task1",
    "task2",
    "task3"
  ],
  "user_task_managed_initial_warehouse_size": "XSMALL",
  "user_task_timeout_ms": 10,
  "suspend_task_after_num_failures": 3,
  "condition": "select 1",
  "allow_overlapping_execution": false,
  "error_integration": "my_notification_int",
  "created_on": "2024-06-18T01:01:01.111111",
  "id": "task_id",
  "owner": "TASK_ADMIN",
  "owner_role_type": "ADMIN",
  "state": "started",
  "last_committed_on": "2024-06-18T01:01:01.111111",
  "last_suspended_on": "2024-06-18T01:01:01.111111",
  "database_name": "TESTDB",
  "schema_name": "TESTSCHEMA"
}
이름타입
X-Snowflake-Request-ID
Link
202
400
401
403
404
405
429
500
503
504
매개 변수타입설명

Create a (or alter an existing) task

PUT/api/v2/databases/{database}/schemas/{schema}/tasks/{name}
Create a (or alter an existing) task. Even if the operation is just an alter, the full property set must be provided.
매개 변수타입설명
{
  "name": "name_example",
  "warehouse": "test_wh",
  "schedule": {
    "schedule_type": "MINUTES_TYPE",
    "minutes": 10
  },
  "comment": "test_comment",
  "config": {
    "output_dir": "/temp/test_directory/",
    "learning_rate": "0.1"
  },
  "definition": "this task does...",
  "predecessors": [
    "task1",
    "task2",
    "task3"
  ],
  "user_task_managed_initial_warehouse_size": "XSMALL",
  "user_task_timeout_ms": 10,
  "suspend_task_after_num_failures": 3,
  "condition": "select 1",
  "allow_overlapping_execution": false,
  "error_integration": "my_notification_int",
  "created_on": "2024-06-18T01:01:01.111111",
  "id": "task_id",
  "owner": "TASK_ADMIN",
  "owner_role_type": "ADMIN",
  "state": "started",
  "last_committed_on": "2024-06-18T01:01:01.111111",
  "last_suspended_on": "2024-06-18T01:01:01.111111",
  "database_name": "TESTDB",
  "schema_name": "TESTSCHEMA"
}

응답

코드설명
200
202
400
401
403
404
405
429
500
503
504

Delete a task

DELETE/api/v2/databases/{database}/schemas/{schema}/tasks/{name}
Delete a task with the task name. If ifExists is used, the operation will succeed even if the object does not exist. Otherwise, there will be a failure if the drop is unsuccessful.

쿼리 매개 변수

매개 변수타입설명
ifExistsboolean
Query parameter that specifies how to handle the request for a resource that does not exist:
  • true: The endpoint does not throw an error if the resource does not exist. It returns a 200 success response, but does not take any action on the resource.
  • false: The endpoint throws an error if the resource doesn't exist.

응답

코드설명
200
202
400
401
403
404
405
429
500
503
504

Execute a task object

POST/api/v2/databases/{database}/schemas/{schema}/tasks/{name}:execute
Execute a task -
  • this is equivalent to EXECUTE IMMEDIATE.

쿼리 매개 변수

매개 변수타입설명
asyncExecboolean
Asynchronous execution enable/disable. Default is disable.
retryLastboolean
Retry the last failed run of the DAG.

응답

코드설명
200
202
400
401
403
404
405
429
500
503
504

Resume a suspended task

POST/api/v2/databases/{database}/schemas/{schema}/tasks/{name}:resume
Resumes a suspended task object. This is equivalento an ALTER TASK ... RESUME.

응답

코드설명
200
202
400
401
403
404
405
429
500
503
504

Suspends a running task

POST/api/v2/databases/{database}/schemas/{schema}/tasks/{name}:suspend
Suspends a running task. This is equivalent to an ALTER TASK ... SUSPEND.

응답

코드설명
200
202
400
401
403
404
405
429
500
503
504

Fetch the dependent tasks of a task

GET/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/dependents
This operation returns a list of the dependent tasks of the task with identifier {name}.

쿼리 매개 변수

매개 변수타입설명
recursiveboolean
Specifies whether to limit the output to include only direct child tasks or to include all recursive child tasks.

응답

코드설명
200
successful
[
  {
    "name": "name_example",
    "warehouse": "test_wh",
    "schedule": {
      "schedule_type": "MINUTES_TYPE",
      "minutes": 10
    },
    "comment": "test_comment",
    "config": {
      "output_dir": "/temp/test_directory/",
      "learning_rate": "0.1"
    },
    "definition": "this task does...",
    "predecessors": [
      "task1",
      "task2",
      "task3"
    ],
    "user_task_managed_initial_warehouse_size": "XSMALL",
    "user_task_timeout_ms": 10,
    "suspend_task_after_num_failures": 3,
    "condition": "select 1",
    "allow_overlapping_execution": false,
    "error_integration": "my_notification_int",
    "created_on": "2024-06-18T01:01:01.111111",
    "id": "task_id",
    "owner": "TASK_ADMIN",
    "owner_role_type": "ADMIN",
    "state": "started",
    "last_committed_on": "2024-06-18T01:01:01.111111",
    "last_suspended_on": "2024-06-18T01:01:01.111111",
    "database_name": "TESTDB",
    "schema_name": "TESTSCHEMA"
  }
]
이름타입
X-Snowflake-Request-ID
Link
202
400
401
403
404
405
429
500
503
504
매개 변수타입설명

Get the graph runs that are executing or scheduled for the task for the next 8 days (Deprecated)

GET/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current_graphs
This function returns details for graph runs that are currently executing or are next scheduled to run within the next 8 days.

쿼리 매개 변수

매개 변수타입설명
resultLimitinteger

응답

코드설명
200
successful
[
  {
    "root_task_name": "root_task",
    "database_name": "test_db",
    "schema_name": "test_schema",
    "state": "SCHEDULED",
    "first_error_task_name": "test_task",
    "first_error_code": 0,
    "first_error_message": "ERROR",
    "scheduled_time": "2024-06-18T01:01:01.111111",
    "query_start_time": "2024-06-18T01:01:01.111111",
    "next_scheduled_time": "2024-06-18T01:01:01.111111",
    "completed_time": "2024-06-18T01:01:01.111111",
    "root_task_id": "0",
    "graph_version": 0,
    "run_id": 0
  }
]
이름타입
X-Snowflake-Request-ID
Link
202
400
401
403
404
405
429
500
503
504
매개 변수타입설명

Get the graph runs that are executing or scheduled for the task for the next 8 days

GET/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/current-graphs
This function returns details for graph runs that are currently executing or are next scheduled to run within the next 8 days.

쿼리 매개 변수

매개 변수타입설명
resultLimitinteger

응답

코드설명
200
successful
[
  {
    "root_task_name": "root_task",
    "database_name": "test_db",
    "schema_name": "test_schema",
    "state": "SCHEDULED",
    "first_error_task_name": "test_task",
    "first_error_code": 0,
    "first_error_message": "ERROR",
    "scheduled_time": "2024-06-18T01:01:01.111111",
    "query_start_time": "2024-06-18T01:01:01.111111",
    "next_scheduled_time": "2024-06-18T01:01:01.111111",
    "completed_time": "2024-06-18T01:01:01.111111",
    "root_task_id": "0",
    "graph_version": 0,
    "run_id": 0
  }
]
이름타입
X-Snowflake-Request-ID
Link
202
400
401
403
404
405
429
500
503
504
매개 변수타입설명

Get the graph runs that are completed for the task (Deprecated)

GET/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete_graphs
This function returns details for graph runs that are completed.

쿼리 매개 변수

매개 변수타입설명
resultLimitinteger
Number of results to return, at most. Default is 1000, valid range is 1 to 10000.
errorOnlyboolean
Whether to only return results for tasks runs that have failed. Default is false.

응답

코드설명
200
successful
[
  {
    "root_task_name": "root_task",
    "database_name": "test_db",
    "schema_name": "test_schema",
    "state": "SCHEDULED",
    "first_error_task_name": "test_task",
    "first_error_code": 0,
    "first_error_message": "ERROR",
    "scheduled_time": "2024-06-18T01:01:01.111111",
    "query_start_time": "2024-06-18T01:01:01.111111",
    "next_scheduled_time": "2024-06-18T01:01:01.111111",
    "completed_time": "2024-06-18T01:01:01.111111",
    "root_task_id": "0",
    "graph_version": 0,
    "run_id": 0
  }
]
이름타입
X-Snowflake-Request-ID
Link
202
400
401
403
404
405
429
500
503
504
매개 변수타입설명

Get the graph runs that are completed for the task

GET/api/v2/databases/{database}/schemas/{schema}/tasks/{name}/complete-graphs
This function returns details for graph runs that are completed.

쿼리 매개 변수

매개 변수타입설명
resultLimitinteger
Number of results to return, at most. Default is 1000, valid range is 1 to 10000.
errorOnlyboolean
Whether to only return results for tasks runs that have failed. Default is false.

응답

코드설명
200
successful
[
  {
    "root_task_name": "root_task",
    "database_name": "test_db",
    "schema_name": "test_schema",
    "state": "SCHEDULED",
    "first_error_task_name": "test_task",
    "first_error_code": 0,
    "first_error_message": "ERROR",
    "scheduled_time": "2024-06-18T01:01:01.111111",
    "query_start_time": "2024-06-18T01:01:01.111111",
    "next_scheduled_time": "2024-06-18T01:01:01.111111",
    "completed_time": "2024-06-18T01:01:01.111111",
    "root_task_id": "0",
    "graph_version": 0,
    "run_id": 0
  }
]
이름타입
X-Snowflake-Request-ID
Link
202
400
401
403
404
405
429
500
503
504
매개 변수타입설명