我正在尝试从本地运行的EventGateway(版本:0.9.1)实例调用AWS Lambda函数。但是,由于"Event Type: http.request not found".
lambda已使用无服务器框架独立部署,并且ARN已注入注册调用中:
lambda只是一种世界级的lambda,它正在监听http请求:
functions:
hello-world:
handler: bin/hello-serverless
events:
- http:
path: /hello
method: get
我的函数注册调用看起来像这样:
curl --request POST \
--url http://127.0.0.1:4001/v1/spaces/default/functions \
--header 'content-type: application/json' \
--data \
'{"functionId": "helloserverless", "type": "awslambda", "provider":{ "arn": "<lambda-arn>", "region": "ap-southeast-2", "accessKeyId": "<my-access-key>", "secretAccessKey": "<my-secret-key"}}'
现在,当我尝试订阅活动时:
--url http://127.0.0.1:4001/v1/spaces/default/subscriptions \
--header 'content-type: application/json' \
--data '{"functionId": "helloserverless", "type": "sync", "path": "/hello", "method": "GET", "eventType": "http.request"}'
我收到以下错误:
{"errors":[{"message":"Event Type \"http.request\" not found."}]}
任何指向正确解决方案或可行示例的指针都将受到赞赏。
答案 0 :(得分:0)
如果要调用类似端点的函数,则需要运行应用程序。有一个名为serverless-offline的插件可以帮助您。
如果要使用无服务器选项调用函数,则该命令称为INVOKE。 https://serverless.com/framework/docs/providers/aws/cli-reference/invoke-local/