Tag: lambda

AWS Cognito +使用DynamoDB的我自己的身份解决scheme?

目前,我有一个nodeJS API服务器来处理用户authentication,我想继续使用。 我有一个/authenticate端点将validation用户,并返回需要用于进行身份validation的API调用的JWT。 我想使用AWS Cognito + DynamoDB进行用户authentication。 不过,我完全不知道我能做到这一点的各种方式。 我已经提出了以下两种方式,但是不知道长远来看哪个更好。 使用API​​网关+ Lambda。 这样,我可以通过与DynamoDB接口来创build新用户,并使用Cognito进行身份validation。 到目前为止,我只是试图用API Gateway + Lambda + DynamoDB做一些基本的事情,但还没有碰到Cognito。 看来用这种方法我可以在路上有更多的灵活性。 在AWS + API网关上部署我的nodeJS应用程序。 除了用户authentication之外,我还有其他8个端点。 我觉得这个方法没有利用AWS的许多好处,但是我可以轻松地推新代码并保持运行。 或者,还有更好的办法吗? 总之,我有一个使用nodeJS的REST API,我想在AWS上部署,但不确定最好的方法。 其中一个端点是authentication,而其他端点都是CRUD。

为什么这个lambda函数需要括号?

return (Func<object, Task<object>>)(async (dynamic data) => { methodCall(data.data, data.more); return null; }); 从我所收集的代码正在做的事情来看,它明确地将lambda函数作为一个委托来转换,然后返回这个委托(在这种情况下,它将返回一个edgejs函数)。 当parens被删除时,从构build过程中收到8个错误。 语法错误,','预计 ; 预期 预计 名称async在当前上下文中不存在 dynamic名称在当前上下文中不存在 名称数据在当前上下文中不存在 名称数据在当前上下文中不存在 名称数据在当前上下文中不存在

AWS Lambda上的PhantomJS总是超时

我尝试在AWS Lambda上创build一个从PhantomJS创buildPDF文件的任务,然后再上传到AWS S3。 现在,我尝试在Lambda上运行它,但总是超时。 我的Lambda有128MB的内存。 运行时是node.js 4.4.3。 这是我从Lambda获得的错误 "errorMessage": "2017-03-01T08:05:56.255Z dfd4cfe8-fe55-11e6-bf24-e7edf412e037 Task timed out after 10.00 seconds" 这些也是日志输出 REPORT RequestId: dfd4cfe8-fe55-11e6-bf24-e7edf412e037 Duration: 10000.08 ms Billed Duration: 10000 ms Memory Size: 128 MB Max Memory Used: 29 MB 2017-03-01T08:05:56.255Z dfd4cfe8-fe55-11e6-bf24-e7edf412e037 Task timed out after 10.00 seconds 这是我的代码。 Index.js var childProcess = require('child_process'); var path = require('path'); […]

如何以编程方式将AWS lambda触发器设置为Alexa技能

我想设置使用Alexa事件的AWS lambda的触发器来运行触发器,但在SDK文档中找不到任何东西。 有人知道吗? 如果有人向我展示了如何使用node.js SDK,我会特别开心,但也欢迎其他想法(CLI)。 我正在玩事件源映射SDK调用,但似乎没有办法。 我认为API是为Kinesis和Dynamostreamdevise的,并没有赶上最新的Alexa发展变化。

如何在Lambda函数中使用AWS.CloudFront.Signer

我正在尝试使用Lambda生成并返回一个签名的cookie,以便我的iOS应用程序可以使用Cookie通过CloudFront访问受限制的文件。 我认为这应该是可能的使用Signer类: http : //docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFront/Signer.html 在此基础上我写了以下Lambda函数: var AWS = require('aws-sdk'); var keyPairId = 'APK…'; var privateKey = 'MIIE…'; var signer = new AWS.CloudFront.Signer(keyPairId, privateKey); exports.handler = function(event, context) { var options = {url: "https://xxxxxx.cloudfront.net", expires: 1357100000}; signer.getSignedCookie(options, function(err, data) { if (err) { context.fail(err); } else { context.succeed('Success'); } }); }; 但是,这是行不通的。 我不断收到错误“完成请求之前退出进程”。 我已经尝试了很多的“选项”参数的格式排列,没有任何区别。 任何帮助,将不胜感激。

如何使用AWS JavaScript SDK(dynamoDB)处理UnprocessedItems?

我正在尝试使用AWS Lambda函数处理来自SendGrid的事件。 据我所知,事件将是一个具有可变数量的JSON对象的数组,每个JSON对象代表一个给定的事件。 我想使用batchWriteItem将这些事件写入DynamoDB,并循环这个过程,直到我没有返回任何UnprocessedItems。 但是,我陷入了一个无限循环。 这是我现在的代码: console.log('Loading function'); var aws = require('aws-sdk'); var dynamo = new aws.DynamoDB(); params = {}; exports.handler = function(sg_event, context) { var items = []; for(var i = 0; i < sg_event.length; i++) { var obj = sg_event[i]; var request = { PutRequest: { Item: { email: { S: obj.email }, […]

如何创build一个从HTTP / HTTPS API获取数据的Alexa Skill(在AWS Lambda上使用Node.js的“Alexa技能工具包”)

我想创build一个亚马逊Alexa的技术 – 当被语音命令触发时 – 通过HTTPS请求从API获取一些信息,并将结果用作对Alexa用户的口头答复。 由于node.js的事件驱动的概念和Node.js的Alexa技能工具包的内部,这里有一个小小的挑战(特别是对于node.js新手)。 而从用户那里获取参数也不是那么容易。 有人可以提供一些示例代码开始?

如何在Node.js中将AWS lambda发布到云监视度量标准

在lambda内部,我使用定期签入服务来检查服务器结果的值,并且我想将该值发布到AWS cloudwatch作为度量标准来形成线图。 我不能为了我的生活而认为我们是这样做的。 整理AWS文档2个小时无处不在。这甚至有可能吗? 要明确这不是关于lambda的度量 ,这是从lamdba发布的度量。 码: 'use strict'; const https = require('http'); exports.handler = (event, context, callback) => { const now = new Date() const yesterday = new Date(now.toISOString()) yesterday.setTime(now.getTime() – (1000 * 60 * 60 * 24)); // 1 day ago) const params = [ ['limit',0], ['pageStart',0], ['startsOnOrAfter',encodeURIComponent(yesterday.toISOString())], ['startsOnOrBefore',encodeURIComponent(now.toISOString())] ].map(kv => `${kv[0]}=${kv[1]}&`).reduce((s1,s2) => […]

我可以在每个请求中更改AWS Lambda的公有IP吗?

每当我提出要求时,我都希望获得新的公开IP。 是否有可能有意识地触发我的容器被回收,否则导致我的知识产权被重新configuration?

Printf语句不能在lambda上工作

我试图用node.js创build一个lambda函数 w用C代码编写代码,并使用node-gyp将其转换为节点库。 lambda函数完美的工作。 但是它仅打印node.js console.log语句。 这是我的node.js代码 'use strict'; console.log('Loading function'); exports.handler = (event, context, callback) => { var addon = require('./build/Release/testLibraryfromCcode'); addon.sayHello(); console.log("Completed"); } 这是我的C代码 int sayHello() { printf("Haaaaaaaaaaaaai\n"); fflush(stdout); return 0; } 我从lambdatesting控制台得到这样的输出 TART RequestId: 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Version: $LATEST 2016-06-08T06:21:32.779Z 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Loading function 2016-06-08T06:21:32.779Z 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Completed Haaaaai打印缺失。 我需要在我的C代码中打印printf语句。 如果有任何想法?