Я пытаюсь создать этот шлюз API ( gist ) с помощью Authorizer и ЛЮБОГО метода.
Я сталкиваюсь с этой ошибкой:
The following resource(s) failed to create: [BaseLambdaExecutionPolicy, ApiGatewayDeployment]
Я проверил параметры, переданные в этот шаблон из других моих стеков, и они верны. Я проверил этот шаблон, и он действителен.
Мой шаблон изменен из этого шаблона с "Runtime": "nodejs8.10"
.
Это тот же стек ( gist ), который успешно создан с использованием swagger 2
. Я просто хочу заменить swagger 2
на AWS::ApiGateway::Method
.
Обновление 6 июня 2019 года:
Я попытался создать весь вложенный стек, используя рабочую версию стека API-шлюза, затем создать еще один API-шлюз с шаблоном, который не работает с параметрами, полученными из вложенного стека, затем у меня есть следующее:
The REST API doesn't contain any methods (Service: AmazonApiGateway; Status Code: 400; Error Code: BadRequestException; Request ID: ID)
Но я указал метод в своем шаблоне, следуя Документы AWS :
"GatewayMethod": {
"Type" : "AWS::ApiGateway::Method",
"DependsOn": ["LambdaRole", "ApiGateway"],
"Properties" : {
"ApiKeyRequired" : false,
"AuthorizationType" : "Cognito",
"HttpMethod" : "ANY",
"Integration" : {
"IntegrationHttpMethod" : "ANY",
"Type" : "AWS",
"Uri" : {
"Fn::Sub": "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${LambdaFunction.Arn}/invocations"
}
},
"MethodResponses" : [{
"ResponseModels": {
"application/json": "Empty"
},
"StatusCode": 200
}],
"RequestModels" : {"application/json": "Empty"},
"ResourceId" : {
"Fn::GetAtt": ["ApiGateway", "RootResourceId"]
},
"RestApiId" : {
"Ref": "ApiGateway"
}
}
},