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

问题描述 投票:0回答:3

我尝试通过AWS SDK(Node)创建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 }

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

amazon-web-services amazon-s3 aws-sdk
3个回答
44
投票

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

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

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

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

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

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

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


5
投票

这都是关于名称约定的!

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


0
投票

我在尝试使用

aws-cdk

创建 lambda 代码时遇到此错误

原来是我设置的区域不对。因此,用于上传 lambda 源的存储桶是错误的。

解决方案就像更改区域值一样简单。

© www.soinside.com 2019 - 2024. All rights reserved.