Skip to content

Latest commit

 

History

History
774 lines (602 loc) · 26.8 KB

DAGApi.md

File metadata and controls

774 lines (602 loc) · 26.8 KB

airflow_python_sdk.DAGApi

All URIs are relative to http://localhost/api/v1

Method HTTP request Description
get_dag GET /dags/{dag_id} Get basic information about a DAG
get_dag_details GET /dags/{dag_id}/details Get a simplified representation of DAG
get_dag_source GET /dagSources/{file_token} Get a source code
get_dags GET /dags List DAGs
get_task GET /dags/{dag_id}/tasks/{task_id} Get simplified representation of a task
get_tasks GET /dags/{dag_id}/tasks Get tasks for DAG
patch_dag PATCH /dags/{dag_id} Update a DAG
post_clear_task_instances POST /dags/{dag_id}/clearTaskInstances Clear a set of task instances
post_set_task_instances_state POST /dags/{dag_id}/updateTaskInstancesState Set a state of task instances

get_dag

DAG get_dag(dag_id)

Get basic information about a DAG

Presents only information available in database (DAGModel). If you need detailed information, consider using GET /dags/{dag_id}/details.

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.dag import DAG
from airflow_python_sdk.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.

    # example passing only required values which don't have defaults set
    try:
        # Get basic information about a DAG
        api_response = api_instance.get_dag(dag_id)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->get_dag: %s\n" % e)

Parameters

Name Type Description Notes
dag_id str The DAG ID.

Return type

DAG

Authorization

Basic

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_dag_details

DAGDetail get_dag_details(dag_id)

Get a simplified representation of DAG

The response contains many DAG attributes, so the response can be large. If possible, consider using GET /dags/{dag_id}.

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.dag_detail import DAGDetail
from airflow_python_sdk.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.

    # example passing only required values which don't have defaults set
    try:
        # Get a simplified representation of DAG
        api_response = api_instance.get_dag_details(dag_id)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->get_dag_details: %s\n" % e)

Parameters

Name Type Description Notes
dag_id str The DAG ID.

Return type

DAGDetail

Authorization

Basic

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_dag_source

InlineResponse2001 get_dag_source(file_token)

Get a source code

Get a source code using file token.

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.error import Error
from airflow_python_sdk.model.inline_response2001 import InlineResponse2001
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    file_token = "file_token_example" # str | The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change. 

    # example passing only required values which don't have defaults set
    try:
        # Get a source code
        api_response = api_instance.get_dag_source(file_token)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->get_dag_source: %s\n" % e)

Parameters

Name Type Description Notes
file_token str The key containing the encrypted path to the file. Encryption and decryption take place only on the server. This prevents the client from reading an non-DAG file. This also ensures API extensibility, because the format of encrypted data may change.

Return type

InlineResponse2001

Authorization

Basic

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json, plain/text

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -
406 A specified Accept header is not allowed. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_dags

DAGCollection get_dags()

List DAGs

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.dag_collection import DAGCollection
from airflow_python_sdk.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    limit = 100 # int | The numbers of items to return. (optional) if omitted the server will use the default value of 100
    offset = 0 # int | The number of items to skip before starting to collect the result set. (optional)

    # example passing only required values which don't have defaults set
    # and optional values
    try:
        # List DAGs
        api_response = api_instance.get_dags(limit=limit, offset=offset)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->get_dags: %s\n" % e)

Parameters

Name Type Description Notes
limit int The numbers of items to return. [optional] if omitted the server will use the default value of 100
offset int The number of items to skip before starting to collect the result set. [optional]

Return type

DAGCollection

Authorization

Basic

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_task

Task get_task(dag_id, task_id)

Get simplified representation of a task

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.task import Task
from airflow_python_sdk.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    task_id = "task_id_example" # str | The task ID.

    # example passing only required values which don't have defaults set
    try:
        # Get simplified representation of a task
        api_response = api_instance.get_task(dag_id, task_id)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->get_task: %s\n" % e)

Parameters

Name Type Description Notes
dag_id str The DAG ID.
task_id str The task ID.

Return type

Task

Authorization

Basic

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_tasks

TaskCollection get_tasks(dag_id)

Get tasks for DAG

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.task_collection import TaskCollection
from airflow_python_sdk.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.

    # example passing only required values which don't have defaults set
    try:
        # Get tasks for DAG
        api_response = api_instance.get_tasks(dag_id)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->get_tasks: %s\n" % e)

Parameters

Name Type Description Notes
dag_id str The DAG ID.

Return type

TaskCollection

Authorization

Basic

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

patch_dag

DAG patch_dag(dag_id, dag)

Update a DAG

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.dag import DAG
from airflow_python_sdk.model.error import Error
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    dag = DAG(
        dag_id="dag_id_example",
        root_dag_id="root_dag_id_example",
        is_paused=True,
        is_subdag=True,
        fileloc="fileloc_example",
        file_token="file_token_example",
        owners=[
            "owners_example",
        ],
        description="description_example",
        schedule_interval=ScheduleInterval(
            type="CronExpression",
            value="value_example",
        ),
        tags=[
            Tag(
                name="name_example",
            ),
        ],
    ) # DAG | 
    update_mask = [
        "update_mask_example",
    ] # [str] | The fields to update on the resource. If absent or empty, all modifiable fields are updated. A comma-separated list of fully qualified names of fields.  (optional)

    # example passing only required values which don't have defaults set
    try:
        # Update a DAG
        api_response = api_instance.patch_dag(dag_id, dag)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->patch_dag: %s\n" % e)

    # example passing only required values which don't have defaults set
    # and optional values
    try:
        # Update a DAG
        api_response = api_instance.patch_dag(dag_id, dag, update_mask=update_mask)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->patch_dag: %s\n" % e)

Parameters

Name Type Description Notes
dag_id str The DAG ID.
dag DAG
update_mask [str] The fields to update on the resource. If absent or empty, all modifiable fields are updated. A comma-separated list of fully qualified names of fields. [optional]

Return type

DAG

Authorization

Basic

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

post_clear_task_instances

TaskInstanceReferenceCollection post_clear_task_instances(dag_id, clear_task_instance)

Clear a set of task instances

Clears a set of task instances associated with the DAG for a specified date range.

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.task_instance_reference_collection import TaskInstanceReferenceCollection
from airflow_python_sdk.model.error import Error
from airflow_python_sdk.model.clear_task_instance import ClearTaskInstance
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    clear_task_instance = ClearTaskInstance(
        dry_run=True,
        start_date="start_date_example",
        end_date="end_date_example",
        only_failed=True,
        only_running=False,
        include_subdags=True,
        include_parentdag=True,
        reset_dag_runs=True,
    ) # ClearTaskInstance | Parameters of action

    # example passing only required values which don't have defaults set
    try:
        # Clear a set of task instances
        api_response = api_instance.post_clear_task_instances(dag_id, clear_task_instance)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->post_clear_task_instances: %s\n" % e)

Parameters

Name Type Description Notes
dag_id str The DAG ID.
clear_task_instance ClearTaskInstance Parameters of action

Return type

TaskInstanceReferenceCollection

Authorization

Basic

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

post_set_task_instances_state

TaskInstanceReferenceCollection post_set_task_instances_state(dag_id, update_task_instances_state)

Set a state of task instances

Updates the state for multiple task instances simultaneously.

Example

  • Basic Authentication (Basic):
import time
import airflow_python_sdk
from airflow_python_sdk.api import dag_api
from airflow_python_sdk.model.task_instance_reference_collection import TaskInstanceReferenceCollection
from airflow_python_sdk.model.error import Error
from airflow_python_sdk.model.update_task_instances_state import UpdateTaskInstancesState
from pprint import pprint
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = airflow_python_sdk.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: Basic
configuration = airflow_python_sdk.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Enter a context with an instance of the API client
with airflow_python_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = dag_api.DAGApi(api_client)
    dag_id = "dag_id_example" # str | The DAG ID.
    update_task_instances_state = UpdateTaskInstancesState(
        dry_run=True,
        task_id="task_id_example",
        execution_date="execution_date_example",
        include_upstream=True,
        include_downstream=True,
        include_future=True,
        include_past=True,
        new_state="success",
    ) # UpdateTaskInstancesState | Parameters of action

    # example passing only required values which don't have defaults set
    try:
        # Set a state of task instances
        api_response = api_instance.post_set_task_instances_state(dag_id, update_task_instances_state)
        pprint(api_response)
    except airflow_python_sdk.ApiException as e:
        print("Exception when calling DAGApi->post_set_task_instances_state: %s\n" % e)

Parameters

Name Type Description Notes
dag_id str The DAG ID.
update_task_instances_state UpdateTaskInstancesState Parameters of action

Return type

TaskInstanceReferenceCollection

Authorization

Basic

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Success. -
401 Request not authenticated due to missing, invalid, authentication info. -
403 Client does not have sufficient permission. -
404 A specified resource is not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]