部署ApiGateway方法的CloudFormation从rootresource继承AWS_IAM

时间:2018-09-12 08:44:20

标签: amazon-cloudformation aws-api-gateway

我一直在使用ApiGateway,Lambda等资源构建更大的CloudFormation堆栈。

对于最新的ApiGateway,我将AWS :: ApiGateway ::方法直接放在/(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

有趣的是,这不是rootresource下资源上的问题,因此它似乎是一个继承问题。

经历过这一切的其他人,如果要求不要在根目录下有路径,那么解决方案是什么?

0 个答案:

没有答案