如何直接使用AWS API(不是aws-sdk)和node.js调用Lambda函数
var request = require('request');
var options = {
url: 'https://lambda.eu-west-1.amazonaws.com/2015-03-31/functions/http/invocations'
, headers: {
'User-Agent': 'request'
}
};
request.post(options, callback);
该示例返回{"message":"Missing Authentication Token"}
答案 0 :(得分:0)
AWS SDK
不仅仅是普通的HTTP请求。 AWS SDK HTTP
请求包含API密钥,数字签名等。您应该坚持使用AWS SDKs
代码,因为这是最有效的方法来启动和运行。
答案 1 :(得分:0)
您需要使用适当的AWS IAM凭据对请求进行签名并提供正确的Authorization
标头。这个过程比较复杂,但是我看到你正在使用nodejs,所以我会链接到最好的npm模块,用你的凭证+ DIY请求签名的文档做请求签名......:
最佳模块: https://www.npmjs.com/package/aws4
原始签名HTTP的AWS文档: http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html
答案 2 :(得分:0)
const params = {
FunctionName: 'MyLambdaFunction',
Qualifier: 'my-alias',
InvocationType: 'RequestResponse',
Payload: JSON.stringify({hello: 'world'})
};
lambda.raw.invoke(params, (err, result) => {
// handle the result
});
please find code from this link
https://github.com/SamVerschueren/aws-lambda-invoke