Я всегда получаю 500 Internal Server Error
, когда пытаюсь вызвать конечную точку GET, которую я определил с помощью SAM.
Я могу определить работающий запрос POST.Для запроса GET он показывает мне: Lambda invocation failed with status: 403
Execution failed due to configuration error:
Я думаю, что что-то не так, когда я определяю свой DefinitionBody моего шлюза API.
Globals:
Api:
Cors:
AllowMethods: "'GET,POST,OPTIONS'"
AllowHeaders: "'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'"
AllowOrigin: "'*'"
Resources:
getFunction:
Type: 'AWS::Serverless::Function'
Properties:
...
Events:
GetApi:
Type: Api
Properties:
Path: /tips
Method: GET
RestApiId: !Ref MyApi
MyApi:
Type: AWS::Serverless::Api
Properties:
StageName: dev
EndpointConfiguration: REGIONAL
DefinitionBody:
swagger: "2.0"
info:
title: "API"
paths:
/tips:
get:
x-amazon-apigateway-integration:
uri:
Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${getFunction.Arn}/invocations
responses: {}
httpMethod: "POST"
type: "aws_proxy"
Я уже пытался изменить httpMethod наx-amazon-apigateway-интеграции с «GET», но это не решает мою проблему.
В консоли AWS Lambda я вижу, что Lambda и Api Gateway связаны, но я не могу вызвать Lambdaчерез шлюз API.Я могу успешно выполнить свою лямбду с помощью тестового события в консоли.Это определенно что-то на стороне шлюза API.
Может кто-нибудь проверить, что я делаю неправильно?