Anton Kumpan created AIRFLOW-5593:
-------------------------------------

             Summary: Utilize 'run_id' instead of 'execution_date' as dag_runs 
unique identifier for Rest APIs
                 Key: AIRFLOW-5593
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-5593
             Project: Apache Airflow
          Issue Type: Improvement
          Components: api
    Affects Versions: 1.10.5
            Reporter: Anton Kumpan
            Assignee: Anton Kumpan


When we are triggering DAG with POST:

 
{code:java}
POST /api/experimental/dags/<DAG_ID>/dag_runs{code}
 

we can assign unique 'run_id' for the run.

But after it - we are still forced to use *'execution_date'* as a parameter to 
work with the run, e.g: GET: 
/dags/<string:dag_id>/dag_runs/<*string:execution_date*> - expects 
*execution_date.*

This is not very comfortable and forces user to mandatory operate with dates 
instead of working with unique ID which can be any string.

We already have a unique constraint in DagRun:

 
{code:java}
UniqueConstraint('dag_id', 'run_id')
{code}
 

*Affected areas:*

Currently - 'execution_date' is used for following Rest API:
{code:java}
GET 
/api/experimental/dags/<string:dag_id>/dag_runs/<string:execution_date>{code}
{code:java}
GET 
/api/experimental/dags/<DAG_ID>/dag_runs/<string:execution_date>/tasks/<TASK_ID>
{code}
 

I propose to change these endpoints to utilize *'run_id'* instead of 
*'execution_date'*, so these API will became:
{code:java}
GET /api/experimental/dags/<string:dag_id>/dag_runs/<string:run_id>{code}
{code:java}
GET /api/experimental/dags/<DAG_ID>/dag_runs/<string:run_id>/tasks/<TASK_ID>
{code}
 

AIRFLOW-5590 - logged to return  *'run_id'* as a separate field in the response.

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to