-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
Add integration with Google Calendar API #8471
Comments
Can I try to handle that task? |
Of course. Go ahead and start work. I will gladly help you if you have questions. 🇵🇱 |
Here is GCP integration guide: |
@JeffryMAC @mik-laj Would you help me to specify tasks more? I wonder if operator should only fetch calendar events, organize into table structure (maybe CSV format?) and return into next pipe or should persist data into some SQL table?
It's not clear at all for me. Need to clarify. Does it mean that hook should be able to update/insert event conditionally? For example - if there is at least one event available in particular day, then do not add next one? |
@wojtek2kdev the idea is to be able to pull events from Calendar. This is useful to make analysis if some events have effect on data (like: on 2.10.19 office closed due to employ trip). So we want our automatic process to consider events from calendar when making calculations and analysis. On the other hand we want also the ability to post event into calendar. For example if ETL discovered issues we want to be able to call |
@JeffryMAC So, it would be fine to pull events and organize them into CSV format? Then it would be easy to load to e.g pandas in further pipe. It's not about saving events into particular SQL database? Then it should looks like: |
@wojtek2kdev In my opinion, JSONL is a best format in this case. |
It should save data to GCS - Data Lake. If you have data in GCS, you can use many tool to analyze this data including BigQuery. |
@mik-laj Ok, I'll try that way. It sounds good. |
@wojtek2kdev Can you check if we can use operator |
@mik-laj I think we can. We just only need to choose calendar service and prepare desired query. So should we create Google API to GCS transfer operator? Will it be sufficient for case described in issue + calendar hook for events create/update/remove? Additionaly, I have a few notes, one - I know that's more art than science, but I think it would be better if operators was organize by type, use-case packages e.g having s3_to_gcs or bigquery_to_gcs or bigquery_to_mysql and so on, those should be in e.g operators.transfer package, operators which only executes api CRUD operations should be in operators.api, etc. I think we can extract more operation types, and create packages to keep order, instead of having so many different operators in single folder. Just proposition. Two - why we create hooks which only wraps API calls? For example sheets.py. Also, why we must implement get_conn method in all hooks/operators using google services, instead of inherit that or make some smart decorator? |
@wojtek2kdev Do you need any help? Do you have any questions? |
@mik-laj , is this something I can take on, Im trying to find a good first issue, I have been using airflow for a few years and have written custom operators. Just thought will start contributing. |
@wojtek2kdev are you working on this? |
@mik-laj if @subkanthi is interested can he start working on it? |
@subkanthi @JeffryMAC @wojtek2kdev I assigned you to this ticket. I wish you a nice work together. :-D |
Since no PR raised since August I'm clearing all Assignees. |
Hey @eladkal Im back working on this, should have a PR soon. |
Hi @eladkal - I am new to Airflow and would like to try and take a pass at this if no one else is working on this.. |
Fell freee - just ask @subkanthi if he is also OK |
Thanks for checking , @rsg17 please go for it, I have some code in the branch for inserting event to the calendar(if its helpful) https://github.com/subkanthi/airflow/tree/subkanthi/google_calendar_api_8471
|
Description
I ask for operator to create events table from the Google Calendar API
https://developers.google.com/calendar/v3/reference/events/import
Use case / motivation
we have calendar where we save events that has business impact and we need this data available for our analysts in tables.
I would also be nice if the hook will be able to insert events into the calendar based on logic from the pipeline.
The text was updated successfully, but these errors were encountered: