sdg*_*sdh 4 javascript aws-sdk
如何使用aws-sdk测试AWS S3上是否存在存储桶?
该问题用于测试存储桶中是否存在对象:如何确定对象是否存在AWS S3 Node.JS sdk
这个问题是针对Python的:如何检查AWS S3存储桶是否存在?
您可以使用以下代码:
// import or require aws-sdk as AWS
// const AWS = require('aws-sdk');
const checkBucketExists = async bucket => {
const s3 = new AWS.S3();
const options = {
Bucket: bucket,
};
try {
await s3.headBucket(options).promise();
return true;
} catch (error) {
if (error.statusCode === 404) {
return false;
}
throw error;
}
};
Run Code Online (Sandbox Code Playgroud)
重要的是要认识到错误statusCode将是404如果存储桶不存在。
小智 9
看起来从 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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3814 次 |
| 最近记录: |