Node.js Lambda函数失败,未生成日志

Node.js Lambda函数失败,未生成日志,node.js,amazon-web-services,amazon-s3,aws-lambda,Node.js,Amazon Web Services,Amazon S3,Aws Lambda,我正在玩这个,我克隆了repo,运行npm安装,更改了此部分: var s3EventHandler = new S3EventHandler({ region: 'my-region', outputBucketName: 'my-bucket-name' s3: s3, resolution: 72 }); 将其重命名为exports.js,压缩了js、node_modules文件夹、package.json和event.json(我也尝试过删除这两个json),并将其上载

我正在玩这个,我克隆了repo,运行
npm安装
,更改了此部分:

var s3EventHandler = new S3EventHandler({
  region: 'my-region',
  outputBucketName: 'my-bucket-name'
  s3: s3,
  resolution: 72
});
将其重命名为exports.js,压缩了js、node_modules文件夹、package.json和event.json(我也尝试过删除这两个json),并将其上载到我的Lambda函数中。s3触发器已经创建,目前工作正常

我曾多次测试失败,因为它找不到异步模块和tmp模块,我已将其移到顶层,它似乎已修复了它(但它不会抱怨它所需的其他模块,也不在顶层)

在测试中,它抱怨s3没有定义,这让我有点不知所措,因为它没有太多的细节。我想这可能是因为我正在运行测试,所以s3触发器本身丢失了

当我将pdf上传到bucket中时,Lambda报告它运行但失败。查看CloudWatch日志时,会发现它没有日志流。我已经检查了IAM角色,它拥有
CreateLogStream
PutLogEvents
的权限(这是模板化的IAM策略)

如何让日志工作以查找问题?或者我可以做些什么来修复s3未定义的问题,这是我唯一的线索?它可能与顶层模块要求有关,但这似乎并不一致,因为只有一些模块需要处于顶层?

您提到的内容中似乎缺少“CreateLogGroup”权限。lambda向CloudWatch写入日志需要以下权限

"logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents"

对不起,我错过了,因为它是在另一个部分,是的,它有这个政策。