【发布时间】:2022-08-18 22:29:52
【问题描述】:
我正在尝试构建一个带有 api 网关和在 lambda 上运行的节点后端的应用程序。
节点后端是非常基础的 express 和 sequelize。它还没有连接到数据库。我可以在本地运行节点应用程序,导航到一个端点并获得我从该端点发回的标准“hello world”响应。
当我构建和部署堆栈时,它显示代码已部署到 s3 存储桶,并且 api 和 lambda 已更新。但是,尝试访问端点时出现以下错误 -
502 Bad Gateway - \"message\": \"Internal server error\"
同样,后端没有逻辑,只是发回的文本响应。我不知道如何解决这个问题。它似乎不是 API 问题,虽然我不知道如何测试它。如果是 lambda 部署的问题,为什么它在本地工作?
除此之外,cloudformation文件创建的api网关还有“dev”阶段和“Stage”阶段。我不确定这是怎么发生的,或者是否有问题。
下面是yaml文件。
AWSTemplateFormatVersion: \'2010-09-09\'
Transform: AWS::Serverless-2016-10-31
Description: Storygraf backend API
Globals:
Function:
Timeout: 3
Resources:
ExpressApi:
Type: AWS::Serverless::Api
Properties:
StageName: dev
ExpressLambdaFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://storygraf-backend/xxxx
Handler: lambda.handler
MemorySize: 512
Runtime: nodejs14.x
Timeout: 30
Events:
ProxyApiRoot:
Type: Api
Properties:
RestApiId:
Ref: ExpressApi
Path: /
Method: ANY
ProxyApiGreedy:
Type: Api
Properties:
RestApiId:
Ref: ExpressApi
Path: /{proxy+}
Method: ANY
-
那可能是 lambda 积分错误。你能提供你的 lambda 代码吗?
标签: amazon-web-services aws-lambda amazon-cloudformation