从我的HTML代码中调用lambda函数

时间:2016-12-01 11:56:01

标签: javascript aws-lambda aws-sdk

我写了一个lambda函数。现在我试图从我的HTML中调用它。我编写了一个调用它的JavaScript方法,但它不起作用。 我将此链接添加到我的HTML文件

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

我用以下方法开始了这个方法:

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

此调用以某种方式失败,我不知道为什么,我也没有办法调试它。 你知道我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

要在浏览器中实例化AWS对象,您不需要require:

var lambda = new AWS.Lambda();

然后,您可以invoke Lambda函数(如果您经过身份验证和授权)。

注意:大多数情况下,将Lambda函数放在API网关后面并通过REST调用它更合适(API Gateway可以为您生成API的客户端)。

答案 1 :(得分:1)

您还需要包含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,因为您的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).