My 3 cents:
> But on reading Google's https://aip.dev/159 that now makes more sense, > and that isn't what you were suggesting, but instaed a single, litteral > `-` to mean "any dag id". Is this correct? > That's also my understanding. > So I think then my only ask is that we have a `dag_ids` parameter that > we can use to filter on :) > Yep. This is definitely needed. Additionally/related when selecting across multiple DAGs we would very > quickly run in to that was fixed in github.com/apache/airflow/pull/7364 > -- where asking for all the task stats for the DAGs on a single page > exceeded the HTTP request line limit. > > i.e. this could break if the DAG ids are large, or if they is a large > number of dags to be fetched. > > GET > /dags/-/dagRuns/2020-01-01T00/taskInstances?dag_ids=...&dag_ids=...&dag_ids=... > > How about this as an additional endpoint: > > POST /dags/-/dagRuns/2020-01-01/taskInstances/list > > dag_ids=...&dag_ids=...&dag_ids... > Very sensible proposal. The URL max length very much depends on the client (especially when it is run from browser). where POST is virtually unlimited. It's common thing to use POST in this case. > > (The /list suffix isn't needed here as there is no POST for > taskInstances, but there is in other places, so making it explicit means > we can use the same pattern for, say `POST /dags/-/dagRuns/list`) > > > > If it is valid to pass just one of ExecutionDateStartRange and > ExecutionDateEndRange could we call it ExecutionDateGTE etc. (for > Greater-than-or-equal) so it makes more sense when a single parameter is > providerd. > > +1 > A minor style point: The filter/query string fields are all defined as > BumpyCase, but I'd prefer us to use snake_case (`execution_date_gte` > etc) - the only sort of applicable proposal I can find is > https://aip.dev/140 > > Yeah. In this case I also like snakes better than Bumpys or Camels. Especially python ;). > (As in I can't find anything in Google recs that talk about case for > case of query string/filter params. I guess they suggest having it all > as a single `?filter=` param :- https://aip.dev/160 ) > Yeah. I think I'd also want to understand better how filter examples woudl look like. It's not obvious from the spec (no time to dig deeply). J.