-
Notifications
You must be signed in to change notification settings - Fork 49
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
feat: support S3 Express One Zone #1206
Conversation
A new generated diff is ready to view. |
A new generated diff is ready to view. |
A new generated diff is ready to view. |
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.
Looks good, really close just a couple questions and a few small things to tidy up.
...egen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/s3/express/S3ExpressIntegration.kt
Outdated
Show resolved
Hide resolved
* Benchmarks for S3 Express One Zone. | ||
* Note: This benchmark must be run from an EC2 host in the same AZ as the bucket (usw2-az1). | ||
*/ | ||
class S3ExpressBenchmark : ServiceBenchmark<S3Client> { |
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.
fix: We should update the benchmarks so that we know what they were when this shipped originally (using the same hardware as before).
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 can't re-run all these benchmarks because Pinpoint is throttling and they no longer support adjusting the quota. Ian has a limit of 7000 which is enough to run the benchmarks, but my account has the default (10) which causes throttling errors.
A few options:
- Update all the benchmarks except Pinpoint
- Only add S3 Express benchmark results
- Don't update the benchmarks at all right now, do it when the quota issue is fixed
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.
Decided on option 2, only add/update the S3 benchmarks, which are in a different section of the README. Also created a backlog item to address the Pinpoint throttles, internal reference SDK-KT-104
...ices/s3/common/src/aws/sdk/kotlin/services/s3/express/S3ExpressDisableChecksumInterceptor.kt
Outdated
Show resolved
Hide resolved
services/s3/common/src/aws/sdk/kotlin/services/s3/express/S3ExpressCrc32ChecksumInterceptor.kt
Outdated
Show resolved
Hide resolved
...ices/s3/common/src/aws/sdk/kotlin/services/s3/express/DefaultS3ExpressCredentialsProvider.kt
Outdated
Show resolved
Hide resolved
...ices/s3/common/src/aws/sdk/kotlin/services/s3/express/DefaultS3ExpressCredentialsProvider.kt
Outdated
Show resolved
Hide resolved
...ices/s3/common/src/aws/sdk/kotlin/services/s3/express/DefaultS3ExpressCredentialsProvider.kt
Show resolved
Hide resolved
A new generated diff is ready to view. |
A new generated diff is ready to view. |
A new generated diff is ready to view. |
A new generated diff is ready to view. |
Quality Gate passedIssues Measures |
A new generated diff is ready to view. |
Add support for S3 Express One Zone
Issue #
Description of changes
S3ExpressAttributes.Bucket
bucket name the user is making requests toS3ExpressAttributes.ExpressClient
the user's S3 client, used to makes3:CreateSession
requestsSigV4S3ExpressAuthScheme
S3ExpressHttpSigner
which is a thin wrapper over the existingHttpSigner
. Makes some header changes required for S3 ExpressDefaultS3ExpressCredentialsProvider
which fetches credentials by callings3:CreateSession
and then caches them in anS3ExpressCredentialsCache
. It also performs asynchronous refresh in the background.disableS3ExpressSessionAuth
used to force S3 Express requests to use default auth methodsexpressCredentialsProvider
used to configure custom implementations ofS3ExpressCredentialsProvider
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.