-
Notifications
You must be signed in to change notification settings - Fork 4.5k
🎉 Destination GCS: fix connection check #10299
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
Conversation
/test connector=connectors/destination-s3
|
/test connector=connectors/destination-gcs
|
/publish connector=connectors/destination-s3
|
/publish connector=connectors/destination-gcs
|
S3 version is bumped in #10256. I will revert its version bump here, and do it in a separate PR. |
@@ -33,7 +41,15 @@ public static void main(final String[] args) throws Exception { | |||
@Override | |||
public AirbyteConnectionStatus check(final JsonNode config) { | |||
try { | |||
attemptS3WriteAndDelete(S3DestinationConfig.getS3DestinationConfig(config), config.get("s3_bucket_path").asText()); |
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.
should we just replace all usages of this method, or is it possible that the staging warehouse destinations do actually need those extra permissions? E.g.
Line 40 in ae2a87e
S3Destination.attemptS3WriteAndDelete(getS3DestinationConfig(config), ""); |
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.
I think it would depend on the use case, i.e. how the warehouse uses the S3 or other staging bucket. Since there is no complaint from the community about any permission issue for those destinations, we have not looked into them yet.
What
TransferManager
to test the multipart upload. However, in the sync operation, we useStreamTransferManager
to do the job. It looks like the former requires two more permissions than the latter:multipartUpload.list
andmultipartUpload.listAll
.StreamTransferManager
to test the multipart upload. In this way, the check reflects what actually happens in the sync. In this way, users do not need to grant the client unnecessary permissions just to pass the connection check.🚨 User Impact 🚨
Pre-merge Checklist
Updating 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 here