-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
🐛 Destination GCS: CMEK is supported for the connector #20351
🐛 Destination GCS: CMEK is supported for the connector #20351
Conversation
@armsepehr please add the checklist you removed from the template and fill the tasks done. |
6de821c
to
98b96b2
Compare
@sajarin @octavia-squidington-iv @marcosmarxm Should I do anything more? |
{ | ||
"streams": [ | ||
{ | ||
"sync_mode": "full_refresh", | ||
"destination_sync_mode": "append", | ||
"stream": { | ||
"name": "ab-airbyte-testing", | ||
"supported_sync_modes": ["full_refresh"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are you adding this file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is necessary to verify the "write" command locally. I see the same file in other connector, so I included in gcs too.
}, | ||
"format": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not related to this change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not related to this change, but I think the creator missed to include the format in "config.json" file. I waste some time to figure out the sample "config.json" has not the format field which is necessary. It give us some strange error message if you do not include the "format" field. In a word, I think it is better to include "format" field in "config.json" file.
{"type": "RECORD", "record": {"stream": "ab-airbyte-testing", "data": {"_ab_pk": "my_value", "column2": 221, "column3": "2021-01-01T20:10:22", "column4": 1.214, "column5": [1,2,3]}, "emitted_at": 1626172757000}} | ||
{"type": "RECORD", "record": {"stream": "ab-airbyte-testing", "data": {"_ab_pk": "my_value2", "column2": 222, "column3": "2021-01-02T22:10:22", "column5": [1,2,null]}, "emitted_at": 1626172757000}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same for this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I said before, this file was included in other connectors and I think it's necessary to verify the connector locally. In my opinion, it is better to include in the project same as other connector.
/test connector=connectors/destination-bigquery
Build PassedTest summary info:
|
Hello 👋:skin-tone-2: and thank you for your contribution! Airbyte has instituted a code freeze between 19 and 30 December, to make sure there are no disruptions during the holidays. If you have any questions or need further clarification, please don't hesitate to ping via Slack. |
/test connector=connectors/destination-gcs
Build FailedTest summary info:
|
710500a
to
215380c
Compare
Rebased, bumped version, and running tests here: #21682 |
215380c
to
b7be7aa
Compare
What
Describe what the change is solving
This branch may fix the following issue: GCS destination is not supported Customer-Managed Encryption Key and it is mentioned in the readme file for the destination.
The config file has a missing field which is misleading me for several hour, so I have included the field and some sample-files to check the destination commands as well as the integration tests easily.
How
Describe the solution
As it is discussed in the issue there are two main methods to solve these issues: First, rewrite GCS without AmazonS3 base class. Second, may set integrity check only for GCS to false. In this branch, the second solution is selected.
Note that at the current implementation, google-cloud-storage has been connected to the server via amazon s3 classes and they have some difference.
Recommended reading order
x.java
y.python
🚨 User Impact 🚨
Are there any breaking changes? What is the end result perceived by the user? If yes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.
The change guarantees that the users can send their data to the gcs bucket which is enable by customer-managed encryption key feature.
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
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 hereUpdating a connector
Community member or Airbyter
airbyte_secret
./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 hereConnector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changesTests
Unit
Put your unit tests output here.
Integration
Put your integration tests output here.
Acceptance
Put your acceptance tests output here.