我正在玩这个PDF To Image converter并且我已经克隆了回购,运行npm install
,更改了此部分:
var s3EventHandler = new S3EventHandler({
region: 'my-region',
outputBucketName: 'my-bucket-name'
s3: s3,
resolution: 72
});
将它重命名为exports.js,压缩了js,node_modules文件夹,package.json和event.json(我还尝试删除了这两个jsons)并将其上传到我的Lambda函数中。 s3触发器已经创建,到目前为止工作正常。
我有多次测试失败,因为它无法找到异步模块和tmp模块,我已经将其移至顶层并且似乎已经修复它(但它并没有#39;抱怨它需要的其他模块,并且不在最高级别。)
在测试中它抱怨s3没有被定义,因为它没有很多细节,所以我很遗憾。我认为可能是因为我正在运行测试,所以缺少s3触发器。
当我将pdf上传到存储桶时,Lambda报告它已运行但失败。进入CloudWatch Logs表示没有日志流。我已检查过IAM角色,并且拥有CreateLogStream
和PutLogEvents
的权限(这是模板化的IAM政策)。
如何让我的日志正常工作以找到问题?或者我该怎么做才能解决s3未定义的问题,这是我唯一的线索?它可能与顶层模块要求有关,但是由于只有一些模块需要处于最高级别,因此看起来并不一致吗?
答案 0 :(得分:1)
看起来像你所提到的“CreateLogGroup”权限。 lambda将日志写入CloudWatch
需要以下权限"logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents"