我有一个来自aws-s3的lists a buckets的TypeScript应用程序。问题是,我拥有的凭据只允许我与特定的凭据进行交互(读/写)。
下面是一个例子:
ListBuckets返回['bucket-1', 'bucket-2', 'bucket-3', 'bucket-4']
但是,我的凭据/ACL仅允许我使用['bucket-2', 'bucket-4']进行读/写
那么,我如何才能只列出我有权读/写的存储桶呢?
下面是我的代码:
const localS3Object = new AWS.S3();
// ... the localS3Object is initialized with the secrets in here
localS3Object.listBuckets(function(err: AWS.AWSError, data) {
if (err) {
resolve({
connected: false,
resources: undefined
});
} else {
resolve({
connected: true,
resources: data.Buckets
});
}
});发布于 2020-02-07 04:05:46
不幸的是,没有真正好的方法来做你想做的事情。listBuckets操作(ListAllMyBuckets权限)是一个全有或全无操作。你能做的最好的就是自己过滤掉存储桶,可能是通过尝试采取一些操作(也许是listObjects),看看你是否得到一个权限错误。不管怎么说,这并不优雅。
https://stackoverflow.com/questions/60102497
复制相似问题