使用 AWS SDK 创建 s3 存储桶时存储桶名称无效

Nir*_*han 9 amazon-s3 amazon-web-services aws-sdk

我尝试通过 AWS 开发工具包(节点)创建 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 }
Run Code Online (Sandbox Code Playgroud)

如果我能知道根本原因是什么,那就太好了。

Nir*_*han 20

AWS 在命名 aws 存储桶时提供命名标准。

  • 存储桶名称的长度可以在 3 到 63 个字符之间,并且只能包含小写字符、数字、句点和破折号。

  • 存储桶名称中的每个标签必须以小写字母或数字开头。

  • 存储桶名称不能包含下划线、以破折号结尾、包含连续句点或在句点旁边使用破折号。

  • 存储桶名称不能格式化为 IP 地址 (198.51.100.24)。

提供的名称包含大写字母,通过切换到小写字母可以解决问题。

https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-s3-bucket-naming-requirements.html


小智 6

这都是关于名称约定的!

存储桶名称的长度可以在 3 到 63 个字符之间,并且只能包含小写字符、数字、句点和破折号。