amazon-web-services - 使用模板向 aws lambda 事件添加参数
问题描述
如何使用云形成模板向 lambda 函数事件添加(路径)参数?
奇怪地使用:
DeleteItem:
Type: Api
Properties:
Path: /item/{id}
Method: delete
Request:
Parameters:
Paths:
id: true
使用 aws-sam-cli 工作。但是,当我尝试使用云形成进行部署时,它说未定义属性请求。我从无服务器文档中得到了这个请求的想法,但似乎只能在本地工作。我在模板中找不到有关如何执行此操作的文档,因此将不胜感激。
解决方案
无服务器框架使用自己的语法,这与 SAM 不同(尽管可以编译为 SAM 或原始 CloudFormation)。
您可以在此处找到 SAM 规范。
它不是明确的,但您需要做的就是使用{path-name}
语法。添加Request
/Parameters
不是必需的(或支持)。
例如:
Ratings:
Type: AWS::Serverless::Function
Properties:
Handler: ratings.handler
Runtime: python3.6
Events:
Api:
Type: Api
Properties:
Path: /ratings/{id}
Method: get
会给你一个事件:
event.pathParameters.id == 'whatever-was-put-in-the-id-position'
(一个很长的例子可以在这里找到:https ://github.com/1Strategy/redirect/blob/master/redirect.yaml )
推荐阅读
- python - 从 excel 导入数据并使用它在 c 驱动器上创建单个文件
- image - 如何使用 Numpy 对彩色图像进行直方图?
- reactjs - 不变违规元素类型无效,预期为字符串,但未定义
- python - 使用树莓派从土壤湿度传感器读取准确的湿度值
- tensorflow - 如何使用 hdf5 文件加速 google-colab 中的神经网络?
- node.js - AWS DocumentClient 查询从未被调用
- java - 空HashSet类和Object类型HashSet类的区别
- node.js - mongodb (mongoose) 抛出 E11000 重复键错误收集
- php - 有什么方法可以通过在 laravel 中使用“paypal/rest-api-sdk-php”包来验证 PAYPAL_CLIENT_ID 和 PAYPAL_SECRET_ID 是否为真
- c# - 从 ASP.NET Core 2.1 中的 MySqlConnector 获取查询日志