# AWS-事件

简单地说,事件触发函数运行。

如果您使用AWS作为提供者,那么服务中的所有事件都是AWS中可以触发AWS Lambda函数的任何事件,比如S3 bucket upload、SNS topic和通过API网关创建的HTTP端点。

查看AWS事件部分以获取受支持事件的列表

在部署时,框架将部署事件(例如,API网关端点)所需的任何基础设施,并配置函数来监听它。

# 配置

事件属于每个函数,可以在 serverless.yml 中的events属性中找到它们。

# 'functions' in serverless.yml
functions:
  createUser: # 函数名
    handler: handler.createUser # 引用文件handler.js和导出的函数'createUser'
    events: # 与该函数相关的所有事件
      - http:
          path: users/create
          method: post

事件是对象,可以包含事件特定的信息。

events 属性是一个数组,因为函数可能被多个事件触发,如下所示。

您可以为每个函数设置多个事件,只要AWS支持即可。

# 'functions' in serverless.yml
functions:
  createUser: # 函数名
    handler: handler.users # 引用文件handler.js和导出的函数'users'
    events: # 与该函数相关的所有事件
      - http:
          path: users/create
          method: post
      - http:
          path: users/update
          method: put
      - http:
          path: users/delete
          method: delete

# Types 类型

无服务器框架支持所有AWS Lambda事件。我们没有在这里列出它们,而是将它们放在一个单独的部分中,因为它们有很多配置和功能。查看事件部分了解更多信息

# PathParameters

可以将HTTP事件配置为将路径参数传递给lambda函数。有关详细信息,请参阅API网关事件

# 'functions' in serverless.yml
functions:
  createUser: # 函数名
    handler: handler.users # 引用文件handler.js和导出的函数'users'
    events: # 与该函数相关的所有事件
      - http:
          path: users/{id}
          method: get

# 部署

要部署或更新您的函数、事件和基础设施,请运行serverless deploy

# 参考

更新时间: 5/18/2020, 8:17:22 PM