Provider package for integrating Apache Airflow with dbt Cloud for data transformation workflow orchestration
84
{
"context": "This criteria evaluates how well an engineer uses the apache-airflow-providers-dbt-cloud package to trigger and orchestrate dbt Cloud jobs within an Airflow DAG. The focus is on proper usage of the DbtCloudRunJobOperator and its configuration parameters for job execution.",
"type": "weighted_checklist",
"checklist": [
{
"name": "DbtCloudRunJobOperator Import",
"description": "Correctly imports DbtCloudRunJobOperator from airflow.providers.dbt.cloud.operators.dbt",
"max_score": 10
},
{
"name": "Job Name Parameters",
"description": "Uses project_name, environment_name, and job_name parameters to specify the job by name instead of job_id",
"max_score": 20
},
{
"name": "Connection ID Configuration",
"description": "Configures dbt_cloud_conn_id parameter to specify the dbt Cloud connection",
"max_score": 10
},
{
"name": "Synchronous Waiting",
"description": "Sets wait_for_termination parameter to True to enable synchronous job execution",
"max_score": 15
},
{
"name": "Timeout Configuration",
"description": "Configures timeout parameter (in seconds) to control maximum wait time for job completion",
"max_score": 10
},
{
"name": "Polling Interval",
"description": "Sets check_interval parameter to control how frequently the operator polls for job status",
"max_score": 10
},
{
"name": "Trigger Reason",
"description": "Uses trigger_reason parameter to provide context for why the job was triggered",
"max_score": 10
},
{
"name": "DAG Structure",
"description": "Properly instantiates the operator within a DAG context with appropriate task_id",
"max_score": 10
},
{
"name": "XCom Integration",
"description": "Operator is configured to return job run ID which can be accessed by downstream tasks via XCom (inherent behavior when do_xcom_push is not disabled)",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-apache-airflow-providers-dbt-cloudevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10