How to use Sub and GetAtt functions at the same time in CloudFormation template?

前端 未结 4 2041
忘了有多久
忘了有多久 2021-01-01 10:40

I create CloudFormation yaml template and I need to use !GetAtt \"TestLambda.Arn\" as part of !Sub function in \"AWS::ApiGateway::Method\" Integrat

4条回答
  •  灰色年华
    2021-01-01 11:03

    You don't need to use !GetAtt here, !Sub will automatically unpack values for you if you place them within the place holder:

    Uri: !Sub arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/${TestLambda.Arn}/invocations
    

    This is explained in the docs:

    If you specify template parameter names or resource logical IDs, such as ${InstanceTypeParameter}, AWS CloudFormation returns the same values as if you used the Ref intrinsic function. If you specify resource attributes, such as ${MyInstance.PublicIp}, AWS CloudFormation returns the same values as if you used the Fn::GetAtt intrinsic function.

提交回复
热议问题