amazon-web-services - AWS SAM - 模板没有任何 API 连接到 Lambda 函数
问题描述
所以我正在尝试将现有的 Spring Boot 应用程序转换为 AWS lambda 并使用 SAM。
我正在尝试使用 aws-sam-cli 在本地尝试我的 lambda,但是通过我的 SAM 设置,我得到:Template does not have any APIs connected to Lambda functions
当我做:sam local start-api
我的template.yml
:
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: foo
Resources:
MailFunction:
Type: AWS::Serverless::Function
Properties:
Handler: bar.LambdaHandler::handleRequest
Runtime: java8
CodeUri: target/foo-bar-1.0.jar
Timeout: 300
MemorySize: 1024
Events:
Timer:
Type: Schedule
Properties:
Schedule: rate(1 day)
知道我做错了什么吗?据我所知,它看起来是正确的https://blog.couchbase.com/aws-serverless-lambda-scheduled-events-tweets-couchbase/ + https://docs.aws.amazon.com/lambda/latest /dg/tutorial-schedule-events-schedule-expressions.html
解决方案
您没有将任何 API Gateway 事件添加到您的函数中。并start-api
生成一个本地 API 网关。
您需要将至少一个Api
事件添加到您的Events
部分。
Events:
[...]
Api:
Type: Api
Properties:
Path: /myresource
Method: get
如果你只是有一个Schedule
事件,尝试使用generate-event
来创建这样一个事件。
sam local generate-event schedule ...
并调用函数,例如sam local invoke function-name -e event_file.json
(见)
推荐阅读
- python - 集成了 jupyter notebook 的 Python IDE?
- google-apps-script - 如何根据变量将数据写入特定范围
- android - 配置项目“:app”时出现问题
- reactjs - React setState - 更新数组中的对象
- build.gradle - 在我的 java gRPC 项目 build.gradle 中包含 TextAnalytics 导致 NoClassDefFoundError 或 ClassNotFoundException
- symfony - 命令“ symfony new my_project ”不可用
- reactjs - 我正在运行计划的地图功能 - 但它最终会清除我的数组
- string - 字符串上的回文运算
- cypress - Cypress 与 shadow dom 按钮交互
- c# - 会话过期或被放弃时发生 System.Web.HttpException