Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从在本地系统(而不是S3)上运行的node.js应用程序调用AWS Lambda_Node.js_Amazon Web Services_Aws Lambda - Fatal编程技术网

从在本地系统(而不是S3)上运行的node.js应用程序调用AWS Lambda

从在本地系统(而不是S3)上运行的node.js应用程序调用AWS Lambda,node.js,amazon-web-services,aws-lambda,Node.js,Amazon Web Services,Aws Lambda,我想从系统上后退的node.js文件中调用AWS Lambda。我随后为未经身份验证的用户创建了一个Congnito标识池,并将IdentityPoolId嵌入到节点js文件中,如下所示: 设AWS=需要“AWS-sdk”; AWS.config.region=; 设lambda=new AWS.lambda; AWS.config.credentials=新的AWS.CognitoIdentityCredentials{ IdentityPoolId: }; 设params={ 函数名:,

我想从系统上后退的node.js文件中调用AWS Lambda。我随后为未经身份验证的用户创建了一个Congnito标识池,并将IdentityPoolId嵌入到节点js文件中,如下所示:

设AWS=需要“AWS-sdk”; AWS.config.region=; 设lambda=new AWS.lambda; AWS.config.credentials=新的AWS.CognitoIdentityCredentials{ IdentityPoolId: }; 设params={ 函数名:, 调用类型:“RequestResponse”, 日志类型:“Tail”, 有效负载:“{name:my name}” } lambda.invokeparams,错误,数据=>{ 如果出错{ console.logerr; } 否则{ 如果数据。有效载荷{ log'my-lambda-function说:'+data.Payload; } }
}; 有许多方法可以调用Lambda函数

AWS服务事件示例:SNS触发 通过AWS API网关创建的API。 Amazon CloudWatch cron作业 利用AWS Lambda API的API调用。 如果您的目标是将函数用作API,它可以发送和接收请求和响应,那么您可能应该进行API网关集成

使用API网关非常容易

准备好Lambda函数。 为API设置IAM角色和策略以调用Lambda函数

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": "*"
        }
    ]
}
为Lambda函数创建API资源

在API网关控制台中,创建一个API

在API的根目录下创建/ResourceName资源

根据您的需求创建GET或POST方法

选择AWS服务作为集成类型,并选择在相应区域中创建的Lambda函数

现在,您可以使用body映射模板根据您的需求定制集成请求

您可以查阅以下详细文档:

在本节中,我们将引导您完成集成API的步骤 使用AWS服务的Lambda函数和Lambda函数 集成类型

一旦测试调用成功,您就可以使用API_NAME/Dashboard中的API调用URL,该URL如下所示:

https:// ###****.execute-api.us-west-2.amazonaws.com/{APIStageName}/ 它可以用作REST端点,并且可以从节点js函数本地调用。 不要忘记使用API密钥为您的API启用身份验证


另外,如果您打算在这样的环境中使用,请查看生产检查表。

我也遇到了同样的问题,我能够使用动觉流解决它。 Lambda函数充当消费者。 必须为Lambda函数创建触发器,如下所示:

函数createTrigger-kinesisArn,lambdaName{ //为触发器创建参数常量 常量参数={ EventSourceArn:kinesisArn, 函数名:lambdaName, 起始位置:'最新', 批量大小:100 } 返回新的PromiseSolve,拒绝=>{ lambda.createEventSourceMappingparams,错误,数据=>{ 如果错误拒绝错误 else解析数据 } }
}Aws api gateway?您好@Darkrum,您是否建议我从node.js中使用api gateway调用lambda。你知道如何做的教程吗?@Parashar谢谢你的回复。我试图使用aws API网关客户端npm模块通过API网关调用lambda函数。但我得到了一个未定义的响应。我在下面的帖子中详细介绍了我采取的步骤:。你能调查一下吗。谢谢