Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Amazon appflow #24057

Merged
merged 31 commits into from
Jun 21, 2022
Merged

Amazon appflow #24057

merged 31 commits into from
Jun 21, 2022

Conversation

igorborgest
Copy link
Contributor

Hi!

It's a proposal to add Amazon AppFlow support for the apache-airflow-providers-amazon package.

This is an initial support tested only against two sources: Salesforce and Zendesk.

Adding 1 new hook and 6 new operators + all related tests, docs and examples:

  • AppflowHook
  • AppflowRunAfterOperator
  • AppflowRunOperator
  • AppflowRunFullOperator
  • AppflowRunDailyOperator
  • AppflowRunBeforeOperator
  • AppflowRunAfterOperator
  • AppflowRecordsShortCircuit

Copy link
Contributor

@ferruzzi ferruzzi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for tackling this, it's a lot of work!

I have not used AppFlow, I assume you've tested these against the actual service and they work as you'd expect? I left some comments based on code conventions we use in the community and I'll have to finish looking at the Operators later. So far just a few smallish stylistic requests/suggestions.

airflow/providers/amazon/aws/hooks/appflow.py Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
@igorborgest
Copy link
Contributor Author

Thanks for tackling this, it's a lot of work!

I have not used AppFlow, I assume you've tested these against the actual service and they work as you'd expect? I left some comments based on code conventions we use in the community and I'll have to finish looking at the Operators later. So far just a few smallish stylistic requests/suggestions.

@ferruzzi Yep! I developed this operator six months ago during an AWS Data Lab engagement alongside some AWS SAs. Since then, it has been running in production for Salesforce and Zendesk at VTEX.

@ferruzzi
Copy link
Contributor

That's cool, thanks for contributing it back to the community!

Thanks for the changes, I know a lot of them were little nitpicks. I'll need to finish looking at the other half of the operators tomorrow. 👍

Copy link
Contributor

@o-nikolas o-nikolas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really nice contribution! Other than the minor notes from Dennis and Vincent this is a very solid PR with testing, docs, example dags, etc, all up to current standards 💯 Thanks for your work!

@igorborgest
Copy link
Contributor Author

Thank you @o-nikolas @ferruzzi @vincbeck for all the great suggestions.

I think I've already addressed all of them. Are we good to move on? 😄

@vincbeck
Copy link
Contributor

vincbeck commented Jun 1, 2022

Awesome work! LGTM!

@ferruzzi
Copy link
Contributor

ferruzzi commented Jun 1, 2022

I haven't had time to look at the second half of the operators, but most of my comments were stylistic, so as long as you carried them forward I think we're fine. We'll still need a Committer to approve and merge it.

@potiuk
Copy link
Member

potiuk commented Jun 6, 2022

Can we please change example dags/system tests in AIP-47 compliant way? You can see many of PRs doing it recently and I think we are at the verge of makign it "default" way of adding the examples.

Copy link
Contributor

@josh-fell josh-fell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of great work here! Overall, some minor comments and suggestions.

airflow/providers/amazon/aws/hooks/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
Co-authored-by: Josh Fell <48934154+josh-fell@users.noreply.github.com>
igorborgest and others added 3 commits June 7, 2022 18:53
Co-authored-by: Josh Fell <48934154+josh-fell@users.noreply.github.com>
Co-authored-by: Josh Fell <48934154+josh-fell@users.noreply.github.com>
igorborgest and others added 5 commits June 15, 2022 18:35
Co-authored-by: Josh Fell <48934154+josh-fell@users.noreply.github.com>
Co-authored-by: Josh Fell <48934154+josh-fell@users.noreply.github.com>
Co-authored-by: Josh Fell <48934154+josh-fell@users.noreply.github.com>
Copy link
Contributor

@josh-fell josh-fell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! 👍 Small comments re: using the functools compat module now and a question on the spelling wordlist change (if it's needed, I don't think it is).

Can you make sure to rebase when you push these changes too? We can merge after.

airflow/providers/amazon/aws/hooks/appflow.py Outdated Show resolved Hide resolved
airflow/providers/amazon/aws/operators/appflow.py Outdated Show resolved Hide resolved
docs/spelling_wordlist.txt Outdated Show resolved Hide resolved
@github-actions
Copy link

The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease.

@github-actions github-actions bot added the full tests needed We need to run full set of tests for this PR to merge label Jun 21, 2022
@igorborgest
Copy link
Contributor Author

Thank you @josh-fell!
I think we are ready to merge 🙂

@josh-fell josh-fell merged commit e477f4b into apache:main Jun 21, 2022
@josh-fell
Copy link
Contributor

Nice work @igorborgest!

@vincbeck @o-nikolas @ferruzzi @Taragolis Thanks for all the feedback along the way!

@igorborgest igorborgest deleted the amazon-appflow branch June 22, 2022 14:03
@ephraimbuddy ephraimbuddy added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Aug 12, 2022
@o-nikolas o-nikolas mentioned this pull request Nov 9, 2022
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:providers changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) full tests needed We need to run full set of tests for this PR to merge kind:documentation provider:amazon-aws AWS/Amazon - related issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants