The Cloud Composer DAG job type triggers an Apache Airflow DAG run
in a Google Cloud Composer environment via the Airflow REST API
(POST /dags/{dag_id}/dagRuns). The DAG is identified by its
dag_id — Polysync stores that in the Job's External Id.
This job type is supported on the Google Cloud Composer platform.
dag_id.Cloud Composer DAG (set automatically on import).GET /dags?limit=100&offset=0&only_active=false against the Composer
environment's Airflow web server, paginated via offset / limit.
For each DAG, GET /dags/{dag_id}/details is followed to import the
declared params schema (with type information).
Input + Input&Output parameters are passed as Airflow's conf dict
on the DAG run:
{
"dag_run_id": "polysync_<unique>",
"conf": {
"<param-1>": <typed-value>,
"<param-2>": <typed-value>
}
}
| Direction | Sent in conf |
Updated from response |
|---|---|---|
Input |
✅ | ❌ |
Output |
❌ | ❌ (not supported) |
Input&Output |
✅ | ❌ (not supported) |
Values are typed via the Polysync Data Type and serialized as JSON
tokens (string, int, bool, JSON object, JSON array). The DAG receives
them in dag_run.conf (Airflow 2.x).
Output parameters are not supported. Airflow surfaces the
confdict back on the run status response unchanged. Persist DAG outputs to GCS / BigQuery / XCom and read them from a downstream Task.
Polysync POSTs the body above to
POST /dags/{dag_id}/dagRuns. The composite RunId is the
dag_run_id.
Status is polled via
GET /dags/{dag_id}/dagRuns/{dag_run_id} and decoded:
| Airflow state | Polysync status |
|---|---|
success |
Success |
failed / upstream_failed |
Failed |
running |
Running |
up_for_retry / up_for_reschedule |
Running |
queued / scheduled |
Starting |
| (other) | Unknown |
Cancel is supported via
PATCH /dags/{dag_id}/dagRuns/{dag_run_id} with body
{ "state": "failed" } — Airflow stops scheduling further tasks on
the run.
{airflowWebServerUrl}/dags/{dag_id}/grid?dag_run_id={dag_run_id}
params with explicit type so the Polysync importer
seeds the parameter schema with the correct Data Types.Input&Output only when downstream Polysync Tasks need to chain
the same value — DAG runs themselves don't update Polysync outputs.Google IAP Client Id
platform attribute so Polysync requests an OIDC token with the
matching audience.dag_id was deleted or paused. Re-run
Get Pipelines to refresh, or unpause the DAG in Airflow.Google IAP Client Id and the service account has the IAP-secured
Web App User role.queued — Composer scheduler is unhealthy or DAG
concurrency limits are blocking. Inspect Airflow's scheduler logs.