当前位置: 首页 > 知识库问答 >
问题:

AWS铲斗不可拆卸

师向文
2023-03-14

AWS S3 Web控制台列出了已删除的存储桶。选择桶并尝试清空或删除它会导致“清空桶”或“删除桶”模式确认按钮静默失败。

如果您单击桶并尝试上传文件,您会收到一条错误消息,“找不到错误数据”。如果您尝试创建一个文件夹,您会得到,“错误无法创建带名称的文件夹”。"如果尝试更改和属性、权限或管理,也会收到错误消息。

如果您尝试使用相同的名称创建一个bucket(可能是为了覆盖旧的bucket),则会收到一条错误消息,指示使用了该bucket名称。

类似地,像s3-上传这样的库也无法删除或覆盖存储桶。

AWS(节点)SDK:

var aws = require('aws-sdk');

var s3 = new aws.S3();

s3.listBuckets({}, (error, data) => {
  console.log(error);
  console.log(data);
});

返回存储桶,即使它不应该存在。

{ 
  Buckets: [ 
   { Name: 'bucket.that.shouldnt.exist', CreationDate: 2017-02-20T01:51:19.000Z },
  ],
  Owner: { 
   DisplayName: '...',
   ID: '...' 
  }     
}

s3.deleteBucket({
  Bucket: 'bucket.that.shouldnt.exist'
}, (error, data) => {
  console.log(error);
  console.log(data);
});

退货

{ 
  NoSuchBucket: The specified bucket does not exist
  at Request.extractError (.../aws-sdk/lib/services/s3.js:585:35)
  at Request.callListeners (.../aws-sdk/lib/sequential_executor.js:106:20)
  at Request.emit (.../aws-sdk/lib/sequential_executor.js:78:10)
  at Request.emit (.../aws-sdk/lib/request.js:683:14)
  at Request.transition (.../aws-sdk/lib/request.js:22:10)
  at AcceptorStateMachine.runTo (.../aws-sdk/lib/state_machine.js:14:12)
  at .../aws-sdk/lib/state_machine.js:26:10
  at Request.<anonymous> (.../aws-sdk/lib/request.js:38:9)
  at Request.<anonymous> (.../aws-sdk/lib/request.js:685:12)
  at Request.callListeners (.../aws-sdk/lib/sequential_executor.js:116:18)
  message: 'The specified bucket does not exist',
  code: 'NoSuchBucket',
  region: null,
  time: 2019-06-04T16:56:35.537Z,
  requestId: '...',
  extendedRequestId: '...',
  cfId: undefined,
  statusCode: 404,
  retryable: false,
  retryDelay: 33.90621042754991 
}

共有2个答案

微生令
2023-03-14

出于某种原因,AWS createBucket API起作用(尽管控制台没有):

var aws = require('aws-sdk');

var s3 = new aws.S3();

s3.createBucket({
  Bucket: 'bucket.that.shouldnt.exist'
}, (error, data) => {
  console.log(error);
  console.log(data);
});

然后,您应该能够在被覆盖的bucket上正常执行操作。

周和歌
2023-03-14

AmazonS3是一个大规模的分布式系统。删除S3存储桶与删除硬盘上的本地文件夹截然不同。

启动删除bucket后,bucket名称在一定时间内不可用。您不能重新创建bucket、重新删除bucket、从bucket中获取对象或将对象放入bucket。

最近删除的存储桶名称不能重用以创建新存储桶的时间长短不一。如果您以前拥有存储桶名称,并且您正试图在同一区域中重新创建存储桶,那么您通常可以几乎立即重新创建它。如果您不是以前的所有者,或者您正试图在不同的区域中重新创建存储桶名称,那么存储桶名称通常会在几个小时内不可用。

请注意,作为一般规则,如果您打算重复使用相同的bucket名称,那么通常最好是清空bucket,而不是删除并重新创建bucket。另一个客户可能会在您的删除和重新创建尝试之间创建相同的命名bucket,从而导致您失去对bucket名称的控制(当然不太可能,但可能)。

 类似资料:
  • 我创建了一个组,我添加了新用户到这个组,然后我创建了以下IAM策略: 我从以下方面获得上述政策: http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html 基本上,我想为一个特定的桶开通权限,但是上面的策略不起作用。用户仍然可以从其他存储桶中添加、删除、修改文件。 谢谢!

  • 以下是具有自定义铲斗尺寸的直方图图表的示例。 我们已经在Google Charts Configuration Syntax一章中看到了用于绘制图表的配置 。 现在,让我们看一个具有自定义桶大小的直方图的示例。 配置 (Configurations) 我们使用bucketSize配置来更改直方图的默认桶大小。 options.setBucketSize(5); 例子 (Example) Hell

  • 我有一个名为“archive\u a”的S3 bucket。我创建了一个lambda函数,用于从S3 bucket中检索任何对象“创建”或“永久删除”的元数据信息,作为lambda函数(python)的触发器,并将收集的元数据插入DynamoDB。对于S3 bucket archive_A,我已经手动添加了触发器,一个用于“创建”,另一个用于通过GUI在lambda函数中“永久删除”。 未来可能会

  • 在我的GCP项目中,我有为spring boot托管docker容器的MIG。目前,来自spring boot应用程序的日志驻留在容器中,要访问这些日志,我必须运行以下命令。 我需要从容器中提取日志并将其导出到 GCS 存储桶。 在GCP有没有任何内置的解决方案,或者我是否需要在虚拟机中安装fluentd,并使用它将容器日志导出到GCS Bucket?

  • 一组六个广义密度: 从每个手机显示的 wiki 页面 按比例缩小到桶中,即如果ppi为300,将进入hdpi桶,因为它小于320? 这是计算屏幕尺寸桶的正确方法吗? 我问的原因是因为我创建了以下值目录资源: 在< code>dimens.xml中,我有不同的边距,并根据桶的大小设置dp,即 我很想知道这是否是正确的方法。

  • 我正在使用lz4压缩并将数据写入hive表,该表有20个文件,每个文件在HDFS上都是15G,并且该表的每个文件名都以lz4结尾,例如,。 当我从这个表中运行select count(1)时,它只启动了20个映射器,这意味着lz4 splittable不能生效。 据说lz4支持针对文本文件的可拆分性,所以我想问一下我应该做什么或其他步骤来实现这一点。