如何使用 aws-sdk 测试 AWS S3 上是否存在存储桶?
此问题用于测试对象是否存在于存储桶中: How to determine if object exists AWS S3 Node.JS sdk
这个问题是针对 Python 的: How can I check that a AWS S3 bucket exists?
原文由 sdgfsdh 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何使用 aws-sdk 测试 AWS S3 上是否存在存储桶?
此问题用于测试对象是否存在于存储桶中: How to determine if object exists AWS S3 Node.JS sdk
这个问题是针对 Python 的: How can I check that a AWS S3 bucket exists?
原文由 sdgfsdh 发布,翻译遵循 CC BY-SA 4.0 许可协议
看起来在从 aws-sdk v2 更改为 v3 之后,您无法使用 headBucket() 进行 此 操作。
对于那些使用 v3 的人,你可以试一试:
const { S3Client, HeadBucketCommand } = require('@aws-sdk/client-s3');
const checkBucketExists = async (bucket) => {
const client = new S3Client();
const options = {
Bucket: bucket,
};
try {
await client.send(new HeadBucketCommand(options));
return true;
} catch (error) {
if (error["$metadata"].httpStatusCode === 404) {
return false;
}
throw error;
}
}
原文由 Aaron Kauffman 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
您可以使用以下代码:
重要的是要意识到如果桶不存在,错误
statusCode
将是404
。