Node.js 访问S3存储桶时发生AWS Lambda错误

Node.js 访问S3存储桶时发生AWS Lambda错误,node.js,amazon-web-services,amazon-s3,lambda,Node.js,Amazon Web Services,Amazon S3,Lambda,我有一个Lambda函数,由S3存储桶中的put事件触发。当一个文件被添加到bucket中时,lambda被正确触发,但是它执行s3.getObject(params,(err,data)=>{})什么也不发生 Lambda函数的角色附加了S3FullAccess策略 我已经在本地测试了lambda(使用sam),并且一切都很好,但是当部署lambda时,什么都没有发生,也不知道如何调试它 const aws = require('aws-sdk'); const s3 = new aws.S3

我有一个Lambda函数,由S3存储桶中的put事件触发。当一个文件被添加到bucket中时,lambda被正确触发,但是它执行
s3.getObject(params,(err,data)=>{})
什么也不发生

Lambda函数的角色附加了S3FullAccess策略

我已经在本地测试了lambda(使用sam),并且一切都很好,但是当部署lambda时,什么都没有发生,也不知道如何调试它

const aws = require('aws-sdk');
const s3 = new aws.S3();
const bucket = event.Records[0].s3.bucket.name;
const key = event.Records[0].s3.object.key;

s3.getObject({Bucket: bucket, Key: key}, function(err, data) {
  if (err) {
    console.error(err);
  }

  console.log(data);
});
我的lambda的范围是:

  • 从私有S3存储桶读取CSV文件
  • 在VPC的数据库中加载CSV文件的内容
  • 为了让lambda访问数据库,我在与数据库相同的VPC上配置了lambda


    有什么想法吗?

    问题是Lambda位于VPC中,以便连接到DB,但因此无法访问S3存储桶。为了解决这个问题,我为S3 Bucket创建了一个端点,并将其添加到我的私有路由表中