为什么我无法将S3设置为无服务器Lambda函数的触发器?

时间:2018-02-06 05:28:45

标签: node.js amazon-web-services serverless-framework serverless

我正在尝试将图像上传到S3存储桶时触发NodeJS Lambda函数。我已经看过多个教程并且如图所示设置了yml文件。以下是YML配置文件:

functions:
  image-read:
    handler: handler.imageRead
    events:
      - s3:
        bucket: <bucket-name-here>
        event: s3:ObjectCreated:*

我的配置缺少什么?在IAM角色中我需要做些什么才能正确设置它?

1 个答案:

答案 0 :(得分:0)

你在这里的YAML看起来不错,但可能还有其他一些问题。

只是为了让你开始:

  • 您使用正确的凭据部署该功能吗? (我已经多次看到人们在其他帐户中部署比他们想象的更多 - 在网络控制台中验证它是否存在)
  • 你可以用其他方式调用这个函数吗? (从无服务器命令行,使用http触发器等。)
  • 你在该功能的日志中看到了什么吗? (添加console.log语句以查看是否正在运行任何内容)
  • 您是否在Web控制台中看到了触发器?
  • 可以在Web控制台上手动添加触发器吗?

尝试添加一个简单的函数,该函数仅在运行时打印一些日志,并尝试手动为该函数添加触发器。如果它工作,那么尝试对无服务器命令行做同样的事情,但是只用一个日志语句开始一个简单的函数,如果它工作,那么从那里开始。

有关更多提示,请参阅此帖子 - 部署后未注册S3触发器: