snowflake.core.task.dagv1.DAGOperationΒΆ
- class snowflake.core.task.dagv1.DAGOperation(schema: SchemaResource)ΒΆ
Bases:
object
APIs to manage task graph child task operations.
Methods
- deploy(dag: DAG, mode: CreateMode = CreateMode.error_if_exists) None ΒΆ
Deploys (create) this task graph including all child tasks under a specific schema in Snowflake.
- Parameters:
dag (The
DAG
instance.)mode (CreateMode, optional) β
One of the following strings.
CreateMode.error_if_exists
: Throw ansnowflake.core.exceptions.ConflictError
if the task already exists in Snowflake. Equivalent to SQLcreate task <name> ...
.CreateMode.or_replace
: Replace if the task already exists in Snowflake. Equivalent to SQLcreate or replace task <name> ...
.CreateMode.if_not_exists
: Do nothing if the task already exists in Snowflake. Equivalent to SQLcreate task <name> if not exists...
Default value is
CreateMode.error_if_exists
.
- drop(dag: DAG | str) None ΒΆ
Remove a task graph and all child tasks.
- Parameters:
dag (Union[DAG, str]) β Name of the task graph to be dropped or a
DAG
instance.
Examples
Drop a task graph:
>>> dag_op.drop("your-dag-name")
- get_complete_dag_runs(dag: DAG | str, *, error_only: bool = True) List[DAGRun] ΒΆ
Get the complete task graph runs within 60 minutes in Snowflake.
- Parameters:
dag (Union[DAG, str]) β The task graph to get the task graph runs.
error_only (bool, optional) β If True, only return the task graph runs that have failed. Default is True.
Examples
Get the complete task graph runs:
>>> dag_op.get_complete_dag_runs("your-dag-name")
- get_current_dag_runs(dag: DAG | str) List[DAGRun] ΒΆ
Get the current task graph runs or next schedule dag run for next 8 days in Snowflake.
- Parameters:
dag (Union[DAG, str]) β The task graph to get the task graph runs.
Examples
Get the current task graph runs:
>>> dag_op.get_current_dag_runs("your-dag-name")
- iter_dags(*, like: str) List[str] ΒΆ
Return the task graph names under this schema.
- Parameters:
like (str) β A case-insensitive string functioning as a filter, with support for SQL wildcard characters (% and _).
Examples
Get all task graph names under the schema:
>>> dags = dag_op.iter_dags(like="your-dag-name")
- run(dag: DAG | str, *, retry_last: bool = False) None ΒΆ
Execute the task graph once without waiting for the schedule.
It resumes the task graph then executes it.
- Parameters:
retry_last (bool, optional) β Re-execute the last failed task of the task graph. Default is False.
Examples
Run a task graph:
>>> dag_op.run("your-dag-name")