2016-12-01 32 views
-3

我寫了一個lambda函數。現在我試圖從我的HTML中調用它。我寫了一個調用它的JavaScript方法,但它不起作用。 我加入這個鏈接到我的HTML文件從我的HTML代碼調用lambda函數

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.6.10.min.js"></script> 

和我一起開始的方法:

var AWS = require('aws-sdk'); 

這個調用不知何故失敗,我不知道爲什麼,我沒有辦法調試它。 你知道我錯過了什麼嗎?

回答

1

要實例在瀏覽器中AWS對象,你不需要要求:

var lambda = new AWS.Lambda(); 

然後,您可以invoke lambda函數(如果你是身份驗證和授權)。

注意:大多數情況下,將Lambda函數放在API網關的後面並通過REST調用它是比較合適的(API Gateway可以爲您生成API的客戶端)。

0

您還需要包括SDK腳本 -

<script src="https://sdk.amazonaws.com/js/aws-sdk-2.139.0.min.js"></script> 

你可以看到AWS文檔中一步一步的方法 -

http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/browser-invoke-lambda-function-example.html

最後,如果你使用的API網關不要忘記使CORS incase您的API網關和網站的域名不同,否則您會得到一些錯誤,如 -

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://test123.ap-south-1.amazonaws.com/dev. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).