【问题标题】:Why am I unable to set Amazon S3 as a trigger for my Serverless Lambda Function?为什么我无法将 Amazon S3 设置为无服务器 Lambda 函数的触发器?
【发布时间】:2018-07-16 02:31:18
【问题描述】:

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

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

我的配置有什么遗漏吗?在 IAM 角色中我需要做些什么来正确设置吗?

【问题讨论】:

  • 有什么错误吗?

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


【解决方案1】:

您在此处的 YAML 看起来不错,但可能存在一些其他问题。

只是为了让您入门:

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

尝试添加一个仅在运行时打印一些日志的简单函数,并尝试手动为该函数添加触发器。如果它有效,则尝试对无服务器命令行执行相同操作,但从一个仅包含一条日志语句的简单函数开始,如果有效,则从那里开始。

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

【讨论】:

    猜你喜欢
    • 2021-05-01
    • 1970-01-01
    • 2016-05-06
    • 2021-01-20
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多