我尝试通过AWS SDK(节点)创建一个S3存储桶(thisIsTestBucket190),并遇到无效的存储桶名称异常。
{ InvalidBucketName: The specified bucket is not valid.
at Request.extractError (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/services/s3.js:577:35)
at Request.callListeners (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/request.js:685:12)
at Request.callListeners (/Users/niro273/Desktop/data-lake/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
message: 'The specified bucket is not valid.',
code: 'InvalidBucketName',
region: null,
time: 2018-03-29T04:51:02.692Z,
requestId: '5D487CF96846EFE2',
extendedRequestId: '1TzPeOv4c7zq+H+GV5kFMFO3Y6awoS79VCuf4C7lUmy/IucNEfbINEfEIiNp/Esz7t38ckYZbrU=',
cfId: undefined,
statusCode: 400,
retryable: false,
retryDelay: 34.88207359966853 }
如果我知道什么是根本原因会很好。
答案 0 :(得分:2)
这都是关于命名约定的!
存储桶名称的长度可以在 3 到 63 个字符之间,并且只能包含小写字符、数字、句点和破折号。
答案 1 :(得分:1)
AWS在命名aws存储桶时提供命名标准。
存储桶名称长度可介于3到63个字符之间,并且只能包含小写字符,数字,句点和短划线。
存储桶名称中的每个标签都必须以小写字母或数字开头。
存储桶名称不能包含下划线,以短划线结尾,具有连续句点,或使用与句点相邻的短划线。
无法将存储桶名称格式化为IP地址(198.51.100.24)。
提供的名称包含大写字母,通过切换为小写字母,可以解决问题。