2017-09-26 76 views
0

我試圖在我的SAM模板中對我的lambda函數設置一個事件,但我希望事件源是一個明確的API端點。AWS CloudFormation:使用顯式API作爲事件源的Lambda事件

的文檔顯示了作爲事件源的隱式API的事件:

GetFunction: 
    Type: AWS::Serverless::Function 
    Properties: 
    Handler: index.get 
    Runtime: nodejs6.10 
    CodeUri: s3://bucket/api_backend.zip 
    Policies: AmazonDynamoDBReadOnlyAccess 
    Environment: 
     Variables: 
     TABLE_NAME: !Ref Table 
    Events: 
     GetResource: 
     Type: Api 
     Properties: 
      Path: /resource/{resourceId} 
      Method: get 

這將是明確的API定義:

Resources: 
    MyApi: 
    Type: AWS::Serverless::Api 
    Properties: 
     StageName: prod 
     DefinitionUri: swagger.yml 

任何想法如何明確設置的事件源是MyApi?

在此先感謝。

回答

0

我需要添加RestApiId事件定義下,像這樣:

Events: 
    GetResource: 
     Type: Api 
     Properties: 
     RestApiId: !Ref MyApi 
     Path: /resource/{resourceId} 
     Method: get 
相關問題