2016-12-12 106 views
2

首先,我是整個AWS本身的新手。我正在嘗試使用AWS lambda和API Gateway解決問題。AWS Lambda和Gateway API集成,返回狀態代碼500

  1. 我創建了一個python lambda函數。它需要一些數據,並根據一些條件返回string。類似下面:
def lambda_function(event, context): 
    if event['some_property']: 
     return "SUCCESS: Operation performed successfully." 
    else 
     return "ERROR: Operation failed." 
  • 根據觸發器,我設置了一個網關API。

  • 在創建資源的API網關服務中,集成請求被配置爲傳遞給lambda函數。我測試了lambda函數並正確返回值。

  • 但是,如果我蜷縮API發出的請求,它會返回一個服務器錯誤。消息是這樣的。

  • { 「消息」: 「內部服務器錯誤」}

  • 我試圖玩耍。如果我從函數返回一個空的json並創建一個內容類型爲application/json的正文映射模板,併爲它使用空模型模板,那麼它工作正常。
  • 我想我缺少一些東西在集成響應部分。如果操作成功執行,我想要的是返回一個200狀態碼以及成功消息。

    回答

    1

    我首先建議使用'代理'Lambda集成。配置和使用起來要容易得多。這裏是文檔http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-set-up-simple-proxy.htmlhttp://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

    但它聽起來像你沒有正確的映射響應。很難從描述中說出問題所在,但您可以使用示例「Petstore API」來查看響應應該是什麼樣子。這可能會有所幫助。您可以在'創建API'屏幕中看到該選項。

    相關問題