-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
🐛 🎉 Source Airtable: migrate to the Metadata API
for dynamic schema generation
#20846
Conversation
/test connector=connectors/source-airtable
Build PassedTest summary info:
|
@alafanechere The actual connection should also be refreshed with the new Personal API TOKEN acquired using Airtable UI because the whole mechanism of how Airtable does the authentication was changed. |
/test connector=connectors/source-airtable
Build PassedTest summary info:
|
Thanks @bazarnov for all these details.
@erica-airbyte shall we hold this while you prepare a customer outreach? |
About this one:
I've also tested sync with normalization after this change, works as expected. |
I would agree with that statement @alafanechere! This helps makes Airtable better and might open more opportunities in the future as well. @bazarnov Let's wait for @erica-airbyte to comment though to make sure that comms are handled before merging! |
@alafanechere I want to make sure I am understanding correctly what I am telling customers: Once this update goes out the customer connection will break but they will need to first update their API token due to how Airtable updated their authentication then Is that right? If so I will reach out today. When do we want to deploy this? |
@bazarnov could you confirm Erica's statement? ☝️ You're more aware than I do 😄 |
airbyte-integrations/connectors/source-airtable/source_airtable/schema_helpers.py
Outdated
Show resolved
Hide resolved
I confirm, correct. Please follow the public docs https://airtable.com/developers/web/guides/personal-access-tokens to create new tokens before the docs are updated. The scopes we need to set for new tokens are:
Also, "All Workspaces & Bases" should be selected (there is a point for this in a dropdown menu, once clicked), if we need to fetch all the data available, or specific ones if something special is needed. Enterprise Scopes are not supported yet, since we're limited in account functionality due to the subscription plan. |
Ok thanks! Can we plan on having this go out next Tuesday at 9AM PST so customer know when they will need to be ready? |
All comms have been sent out to customers and I gave them Tuesday the 10th around 9AM PST that this will go out. |
@erica-airbyte @bazarnov I'll merge it on Tuesday 9 am PST and it will get automatically deployed to cloud. |
I'll also adjust the docs till Monday to provide clear instructions for authorization with new format. Thanks @alafanechere |
/publish connector=connectors/source-airtable
if you have connectors that successfully published but failed definition generation, follow step 4 here |
This is still going out tomorrow right at 9AM PST right? |
Hey team, it seems like the update did go out yesterday instead of today (Tuesday the 10th) and they can not update their current connector they have to create a whole new connector with the new API token. |
What
Resolves:
discover
generates incomplete schema #17794unit_tests
#12955How
Metadata API
approach to providing dynamic JSON schema generationbase_id
andtables
properties from input config, now these properties are dynamically fetched and passed to each stream🚨 User Impact 🚨
Users should re-setup the connector and redo the sync all over again, since it's a major change.
Pre-merge Checklist
Expand the relevant checklist and delete the others.
Updating a connector
Community member or Airbyter
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing/publish
command described here