Я строю больший стек CloudFormation с такими ресурсами, как ApiGateway, Lambda и т. Д.
Для последней версии ApiGateway я поместил AWS :: ApiGateway :: Methods непосредственно в / (rootresourceid), а при развертывании из CloudFormation авторизатор на AWS :: ApiGateway :: Stage станет AWS_IAM, хотя я установите в методе собственный авторизатор и используйте DependsOn, чтобы ресурсы подождали.
Post:
DependsOn:
- AuthorizerApi
Type: AWS::ApiGateway::Method
Properties:
AuthorizationType: CUSTOM
AuthorizerId: !Ref AuthorizerApi
RestApiId: !Ref Api
ResourceId: !GetAtt Api.RootResourceId
HttpMethod: POST
Integration:
Type: AWS_PROXY
IntegrationHttpMethod: POST
Uri: !Join ['', ["arn:aws:apigateway:", !Ref "AWS::Region", ":lambda:path/2015-03-31/functions/", !GetAtt PostLambda.Outputs.FunctionGetAtt, ":${stageVariables.environment}/invocations"]]
MethodResponses:
- ResponseModels:
application/json: Empty
StatusCode: 200
Самое смешное, что это не проблема с ресурсами в корневом ресурсе, так что, похоже, это проблема наследования.
Кто-нибудь еще, кто испытал это, и каково решение, если требование не состоит в том, чтобы иметь путь под root?