AWS 错误消息:当前正在针对此资源执行冲突的条件操作

新手上路,请多包涵

我间歇性地收到此错误。

我有一个程序使用 java aws sdk 并将成千上万的小文件加载到 s3。我间歇性地看到这个错误。

在互联网上快速搜索后找不到任何有用的答案。

注意调用程序是单线程的。底层的 aws java sdk 似乎确实使用了工作线程。

 Status Code: 409, AWS Service: Amazon S3, AWS Request ID: 75E16E8DE2193CA6, AWS Error Code: OperationAborted, AWS Error Message: A conflicting conditional operation is currently in progress against this resource. Please try again., S3 Extended Request ID: 0uquw2YEoFamLldm+c/p412Lzd8jHJGFBDz3h7wN+/4I0f6hnGLkPMe+5LZazKnZ
    at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:552)
    at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:289)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2648)
    at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:578)
    at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:503)

原文由 user1172468 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 755
2 个回答

当我执行以下操作时,我收到了相同的错误消息:

  1. 创建了一个存储桶——它默认去了美国地区(使用 AWSCLI)

  2. 意识到,桶应该去欧盟地区并删除它(使用 AWS 控制台)

  3. (几分钟后)尝试创建桶,指定欧盟地区

在第 3 步,AWS 控制台向我显示了问题标题中的错误消息。

所以我猜,美国的桶被删除了,但可能有一些同步过程,这需要时间。我希望,等待几个小时后,我会再次找到可用于创建的存储桶名称——这次是在适当的 (EU) 区域。

FIX :- 编辑:大约一个小时后,我尝试创建存储桶(在欧盟地区)成功了。

原文由 Jan Vlcinsky 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于从谷歌偶然发现此线程的所有其他人,作为搜索此错误消息的第一个结果:

如果您删除了存储桶,要在新区域重新创建, 请不要“手动”等待此后台同步完成,而是运行一个小的 bash 脚本并每 5 秒左右重试您需要的存储桶创建。

例子:

 #!/bin/bash
RESULT=2
until [  $RESULT -eq 0 ]; do
    aws s3 mb s3://your.bucket.name --region us-west-2
    RESULT=$?
    sleep 5
done
echo "Bucket created!"

它将每隔几秒(取决于’sleep’)并尽快为您重试“创建存储桶”操作 - 将为您创建它,因此没有人会错误地窃取您的存储桶名称:)

希望能帮助到你 :)

原文由 Dmitry Shmakov 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏