Читать AWS Регион и AccountId от Swagger - PullRequest
0 голосов
/ 24 января 2020

Как получить AWS::Region и AWS::AccountId из файла чванства x-amazon-apigateway-integration?

Я пробовал много комбинаций после документов , но не повезло - всегда получаю "Invalid ARN "при создании стека Cloudformation.

Я ожидал, что смогу сделать что-то подобное в файле swagger:

x-amazon-apigateway-integration:
  uri:
    Fn::Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:${stageVariables.myFunctionName}/invocations

Однако, если я жестко закодирую идентификаторы Region и Account, это работает:

x-amazon-apigateway-integration:
  uri: arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789:function:${stageVariables.myFunctionName}/invocations

1 Ответ

1 голос
/ 24 января 2020

У меня что-то вроде этого работает.

  ApiGateway:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Body:
        openapi: 3.0.1
        paths:
          '/myGetEndpoint':
            get:
              x-amazon-apigateway-integration:
                uri: !Sub 'arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:myLambdaFunction/invocations'
...