Я делаю API-GATEWAY с использованием облачной информации. Проблема, с которой я сталкиваюсь, заключается в том, что я хочу интегрировать лямбда-функцию для вызова в фоновом режиме.
Я уже сделал функцию лямбда и хочу интегрировать ее в мой apigateway
Есть ли способ импортировать ресурс за пределы стека CF?
Я попытался создать параметр или тип lambda и вызвать resourceid в типе интеграции.
AWSTemplateFormatVersion: "2010-09-09"
Description: >
For creating Restul api gateway,
Background invocation in lambda
Parameters:
apiName:
Type: String
Default: ApolloDevB
Resources:
MyRestApi:
Type: AWS::ApiGateway::RestApi
Properties:
Name: !Ref apiName
Restapiresource:
Type: 'AWS::ApiGateway::Resource'
Properties:
RestApiId: !Ref MyRestApi
ParentId: !GetAtt
- MyRestApi
- RootResourceId
PathPart: charges
Restapiresource2:
Type: 'AWS::ApiGateway::Resource'
Properties:
RestApiId: !Ref MyRestApi
ParentId: !GetAtt
- MyRestApi
- RootResourceId
PathPart: online-count
Method:
Type: AWS::ApiGateway::Method
Properties:
HttpMethod: POST
ResourceId: !Ref Restapiresource
RestApiId: !Ref MyRestApi
AuthorizationType: NONE
Method2:
Type: AWS::ApiGateway::Method
Properties:
HttpMethod: GET
ResourceId: !Ref Restapiresource2
RestApiId: !Ref MyRestApi
AuthorizationType: NONE
Integration:
IntegrationHttpMethod: "POST"
Type: "AWS"
Uri: !Sub
- "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${lambdaArn}/invocations"
- lambdaArn: !GetAtt "lambdaFunction.Arn"
ResourceId: !Ref Restapiresource2
RestApiId: !Ref MyRestApi