josh-fell opened a new pull request #16876:
URL: https://github.com/apache/airflow/pull/16876


   Closes #10285
   
   - Updated example DAG files such that `xcom_pull()` calls use an operator's 
`.output` property
   - Added comments to which task dependencies, if any, are handled and/or 
created via `XComArgs` for transparency
   - Removed or refactored the `default_args` pattern where necessary as 
requested by @ashb (i.e. removed a separated `default_args` declaration for 
deference for declaration as part of the `DAG` object)
   - Other miscellaneous updates based on `.output` refactoring
   
   >**Note:** There are several instances where the `xcom_pull()` call was not 
updated.  These instances involve accessing a specific value within the `XCom` 
or calling user-defined macros with an `XCom` value.  Reference #16618 for an 
open issue to enhance the `XComArg` functionality to provide similar behavior 
as the classic `xcom_pull()` method.
   
   > **Note:** Not all DAGs were tested functionally (i.e. with hard 
integrations to source systems and executed), however each DAG was tested to 
compile and generate a DAG graph as expected locally.
   
   An detailed summary of all changes made as part of this PR can be found 
below:
   | DAG File | Converted `xcom_pull()`? | Other Updates? | Comments |
   | ---------| ------------------------ | -------------- | -------- |
   | airflow/providers/google/leveldb/example_dags/example_leveldb.py | No | 
Yes | Removed unneeded `default_args` pattern. |
   | 
airflow/providers/google/marketing_platform/example_dags/example_campaign_manager.py
 | No | No | Current `XComArg` object does not support accessing specific 
values of an iterable `XCom` value elegantly. Did not update any occurrences in 
this DAG. |
   | 
airflow/providers/google/marketing_platform/example_dags/example_display_video.py
 | Yes ** | Yes | ** Current `XComArg` object does not support accessing 
specific values of an iterable `XCom` value elegantly. Did not update the 
following occurrence: <br/>`'{{ 
task_instance.xcom_pull("create_sdf_download_task")["name"] }}'`<br/><br/>All 
other `xcom_pull()` calls have been updated. <br/><br/> Removed explicit task 
dependencies that are created via `XComArgs`. </br></br>Updated this instance 
to reference the correct task rather than an non-existant one:</br>`'{{ 
task_instance.xcom_pull("upload_sdf_to_bigquery")}}'`|
   | 
airflow/providers/google/marketing_platform/example_dags/example_search_ads.py 
| Yes | Yes | Removed explicit task dependencies that are created via 
`XComArgs`. |
   | airflow/providers/google/suite/example_dags/example_gcs_to_sheets.py | No 
| No | Current `XComArg` object does not support accessing specific values of 
an iterable `XCom` value elegantly. Did not update any occurrences in this DAG. 
|
   | airflow/providers/google/suite/example_dags/example_sheets.py | Yes ** | 
No | ** Current `XComArg` object does not support accessing specific values of 
an iterable `XCom` value elegantly. Did not update the following occurrences: 
<br/>`"{{ task_instance.xcom_pull('upload_sheet_to_gcs')[0] }}"`<br/><br/>All 
other `xcom_pull()` calls have been updated. |
   
   ---
   **^ Add meaningful description above**
   
   Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)**
 for more information.
   In case of fundamental code change, Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals))
 is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party 
License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in 
[UPDATING.md](https://github.com/apache/airflow/blob/main/UPDATING.md).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to