在AWS Lambda中获取s3.putPublicAccessBlock“不是函数”

时间:2019-03-07 20:44:14

标签: amazon-s3 aws-lambda aws-sdk

    const lockout = {
    IgnorePublicAcls: true,
    RestrictPublicBuckets: true
    };
    console.log(JSON.stringify(s3));
return await Promise.all(names.filter(()=> wsNames.shift()).map(name => s3.putPublicAccessBlock({Bucket: name, PublicAccessBlockConfiguration: lockout}).promise()));

在AWS Lambda中运行时报告:s3.putPublicAccessBlock不是函数。

AWS Documentation

否则。这是令人困惑的,因为权限名称似乎是PutBucketPublicAccessBlock,但是在存储区和帐户级别都应该有一个putAccessBlock。 putBucketAccessBlock也被拒绝。

我很确定这不仅仅是拼写错误。我在做同样愚蠢的事吗?

1 个答案:

答案 0 :(得分:0)

将Lambda的运行时更改为“ nodejs10.x”似乎可以解决此问题。