-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
aws-s3: Unable to use Bucket.fromBucketName on legacy s3 bucket with Uppcase Letters in the name #31731
Comments
Note - this is almost identical to #22640 |
@gregmagdits , thanks for reaching out and linking similar issue. As mentioned in the linked issue and also on the S3 README-
![]() which means your bucket name having You mentioned that you renamed your bucket. In that case, you might want to retry naming with lowercase letters and see if that works. Let me know if this is not helpful. |
Hello @khushail , At one point it was definitely legal to create s3 buckets with uppercase letters. I am not sure when this policy changed (perhaps in 2018 when aws also removed the ability for bucket names to contain underscores) but the cdk should support importing buckets with capital letters in the name, if they were created at the time when that was legal. The cdk already makes this provision for underscores, so it would just need to expand on this logic to include uppercase letters. Please let me know if more information is needed. We do have an aws support account so if you need the name of the bucket, I would be happy to open a support ticket and reference this github issue. |
@gregmagdits ,thanks for elaborating on your usecase. However I am not really sure if CDK Team would support such a case. I would be reaching out to core team and would request their insights on this issue whether it should be supported(Uppercase naming support for Buckets) or share any comments on this issue. |
Yes, you're right. The support of upper case letters in bucket name is removed since 2018, see https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html. The current implementation of |
…31813) ### Issue # (if applicable) Closes #31731 ### Reason for this change As @GavinZZ [commented](#31731 (comment)) in issue #31731, the official AWS S3 documentation stated that uppercase characters were permitted in bucket names prior to March 1, 2018. ### Description of changes - add support for uppercase characters in legacy bucket names ### Description of how you validated changes - added new unit test cases and updated the integration test cases with legacy bucket names ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Comments on closed issues and PRs are hard for our team to see. |
Describe the bug
I'm attempting to reference an s3 bucket in my cdk code that was created in 2013 outside of cdk. The bucket has Capital letters in its name, which was legal for buckets before March 1, 2018 (new buckets can't have Capital letters or underscores in their names). I've tried referencing the bucket with both Bucket.fromBucketName and Bucket.fromBucketAttributes, but both throw this error:
(note that I've slightly changed the name of the actual bucket for privacy)
Error: Invalid S3 bucket name (value: ABCD_Central_1)
Bucket name must only contain lowercase characters and the symbols, period (.), underscore (_), and dash (-) (offset: 0)
Bucket name must start and end with a lowercase character or number (offset: 0)
at Function.validateBucketName (cdk-bug-test/node_modules/aws-cdk-lib/aws-s3/lib/bucket.js:1:19752)
at Function.fromBucketAttributes (cdk-bug-test/node_modules/aws-cdk-lib/aws-s3/lib/bucket.js:1:15111)
at Function.fromBucketName (cdk-bug-test/node_modules/aws-cdk-lib/aws-s3/lib/bucket.js:1:14511)
Regression Issue
Last Known Working CDK Version
No response
Expected Behavior
I expect to be able to import the bucket.
Current Behavior
See error message in the description
Reproduction Steps
Possible Solution
No response
Additional Information/Context
No response
CDK CLI Version
2.161.1
Framework Version
No response
Node.js Version
v20.15.0
OS
Ubuntu via (Window Subsystem for Linux)
Language
TypeScript
Language Version
No response
Other information
No response
The text was updated successfully, but these errors were encountered: