我们如何从nodejs更改aws s3存储桶公共访问? ,见截图
我能够使用 Nodejs 中的 aws-sdk 创建/删除和放置/删除对象,请参阅下面的示例代码, 但我想在创建存储桶或在创建存储桶后创建另一个新的 API 请求时取消阻止“阻止所有公共访问”我花了一整天的时间来找到此解决方案,但没有运气
var bucketParams = {
Bucket: 'bucketname123'
};
s3.createBucket(bucketParams, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.Location);
updateWebConfig()
}
});
您可以使用适用于 JavaScript v2 的 AWS 开发工具包中的 deletePublicAccessBlock 函数。
它将删除 Amazon S3 存储桶的 PublicAccessBlock 配置。要使用此操作,您必须拥有
s3:PutBucketPublicAccessBlock
权限。
示例:
const params = {
Bucket: 'mybucket',
ExpectedBucketOwner: '123456789012'
};
const rc = await s3.deletePublicAccessBlock(params).promise();
请注意,Amazon S3 阻止公共访问功能还提供账户级别设置来阻止公共访问,该设置将覆盖所有存储桶级别设置。