snowflake.core.task.dagv1.DAG

class snowflake.core.task.dagv1.DAG(name: str, *, schedule: Cron | timedelta | None = None, warehouse: str | None = None, user_task_managed_initial_warehouse_size: str | None = None, error_integration: str | None = None, comment: str | None = None, allow_overlapping_execution: bool | None = None, user_task_timeout_ms: int | None = None, suspend_task_after_num_failures: int | None = None, config: Dict[str, Any] | None = None, session_parameters: Dict[str, Any] | None = None, stage_location: str | None = None, imports: List[str | Tuple[str, str]] | None = None, packages: List[str | module] | None = None, use_func_return_value: bool = False)

Bases: object

A graph of tasks composed of a single root task and additional tasks, organized by their dependencies.

Snowflake doesn’t have a first-class DAG entity, so this is a client-side object representation which manages Task relationship. A root Task and its successors logically form a DAG (Directed Acyclic Graph). Refer to DAG of tasks.

When a DAG is deployed, all child tasks are created in Snowflake. A dummy Task is created as the root. A task’s predecessor is the dummy task if it’s added to the DAG with no other predecessors.

Refer to snowflake.core.task.Task for the details of each property.

Attributes

tasks

Returns a list of tasks this DAG has.

name

Name of the DAG and the dummy root task.

warehouse

Refer to snowflake.core.task.Task.warehouse.

user_task_managed_initial_warehouse_size

Refer to snowflake.core.task.Task.user_task_managed_initial_warehouse_size.

comment

comment of the DAG.

schedule

Schedule of the DAG. Refer to snowflake.core.task.Task.schedule.

error_integration

Refer to snowflake.core.task.Task.error_integration.

allow_overlapping_execution

Refer to snowflake.core.task.Task.allow_overlapping_execution.

user_task_timeout_ms

Refer to snowflake.core.task.Task.user_task_timeout_ms.

suspend_task_after_num_failures

Refer to snowflake.core.task.Task.suspend_task_after_num_failures.

config

Refer to snowflake.core.task.Task.config.

session_parameters

Refer to snowflake.core.task.Task.session_parameters.

stage_location

The default stage location where this DAG’s tasks code will be stored if creating the tasks from Python functions.

imports

The default imports for all tasks of this DAG if creating the tasks from Python functions.

packages

The default packages for the tasks of this DAG if creating the tasks from Python functions.

use_func_return_value

Use the Python function’s return value as Task return value if use_func_return_value is True. Default False.

Methods

__init__(name: str, *, schedule: Cron | timedelta | None = None, warehouse: str | None = None, user_task_managed_initial_warehouse_size: str | None = None, error_integration: str | None = None, comment: str | None = None, allow_overlapping_execution: bool | None = None, user_task_timeout_ms: int | None = None, suspend_task_after_num_failures: int | None = None, config: Dict[str, Any] | None = None, session_parameters: Dict[str, Any] | None = None, stage_location: str | None = None, imports: List[str | Tuple[str, str]] | None = None, packages: List[str | module] | None = None, use_func_return_value: bool = False) None
add_task(task: DAGTask) None

Add a child task to this DAG.

get_task(task_name: str) DAGTask | None

Get a child task from this DAG based on task name.