Tag: aws lambda

使用池而不破坏连接会导致系统挂起

如果我将这个代码部署到Amazon Lambda … var settings = require('./settings'); var mysql = require('mysql'); var pool = mysql.createPool({ host: settings.host, database: settings.database, user: settings.user, password: settings.password }); module.exports.handler = function (request, context, callback) { pool.getConnection(function (error, connection) { if (error) return callback(error); connection.query('select 1', null, function (error, results) { callback(null, results); }); }); }; …端点完成超时错误: { "errorMessage": "2017-07-20T10:04:26.629Z […]

Lambda /无服务器内联需求与头部需求

背景 我正在使用AWS Lambda和API Gateway构buildAPI。 而不是将每个API端点分成单独的lambda函数,而是将它们包装到单个库中,并使用aws-serverless-express库。 题 鉴于从内存使用的angular度来看,只有一部分整个API可以用于单个Lambda执行(为了降低成本),在以下几点之间还是有区别的: var myModule = require("mymodule"); … function handleSomething1() { myModule.doSomething(); } function handleSomething2() { … } 要么 function handleSomething() { require("mymodule").doSomething(); } function handleSomething2() { … } 因此,举例来说,一个API请求可能会导致在handleSomething2 Lambda函数之前,只handleSomething2 。 在这种情况下,我们通过调用var myModule = require("mymodule");有效地浪费内存var myModule = require("mymodule"); 顶部? 我想更直接的问题是,当我var myModule = require("mymodule")是否node.js运行时真的为myModule分配内存在那一刻? 或者,直到我真的用myModule 做了什么之后,它才真正成为一个myModule ?

无法导入模块“索引”:在使用claudia.js时,aws云中的错误监视日志

无法导入模块“索引”:aws云监视日志中的错误。 上传lambda使用克劳迪娅工作正常,但API不起作用,云观看日志显示以下错误: Unable to import module 'index': Error at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Object.<anonymous> (/var/task/node_modules/request/request.js:12:21) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3)

Lambda函数testing永远不会通过

我试图让我的第一个Lambda函数工作,但我不能得到一个testing写入我的dynamoDB。 到目前为止,我一直在关注AWS教程。 这是我的Lambda函数(从教程略微修改,以适应我的数据库): 'use strict'; console.log('Loading function'); const doc = require('dynamodb-doc'); const dynamo = new doc.DynamoDB(); /** * Provide an event that contains the following keys: * * – operation: one of the operations in the switch statement below * – tableName: required for operations that interact with DynamoDB * – payload: a parameter to […]

从Lambda函数(Node)连接到MySQL数据库

我一直无法使用来自Lambda函数的Node连接到MySQL数据库。 我收到的错误是Task timed out after 4.00 seconds 。 有没有人有任何解决scheme? 这里是我的状态的概述: AWS RDS数据库是一个MySQL数据库。 它不局限于VPC(我可以使用MySQLWorkbench的主机/用户/密码进行连接)。 我的Lambda函数的执行angular色被设置为将Lambda作为受信任的实体并授予了AdministratorAccess。 在我的本地机器上,我安装了mysql模块,压缩了我的index.js和node_modules文件夹,并上传到了我的Lambda函数。 我已经尝试把处理程序中的createConnection和connect函数。 我试图把我的查询里面的连接函数的callback函数。 我试图增加超时时间到10秒。 我的代码: var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'amazon-string.rds.amazonaws.com', user : 'myusername', password : 'mypassword' }); connection.connect(); exports.handler = (event, context, callback) => { connection.query("SELECT * FROM table", function(err, rows, fields) { console.log("rows: " […]

AWS Lambda无法调用外部https端点

我们正在研究一个Alexa技能,它需要接触到外部REST API来获取数据。 由于某种原因,我很难在lambda函数中使用这个函数。 我也很难确定问题是否在我的node.js代码不正确使用callback,或者如果它在我的函数的VPC设置。 这是我的代码,我已经剥离了非必要的东西。 /* eslint-disable func-names */ /* eslint quote-props: ["error", "consistent"]*/ /** * This sample demonstrates a simple skill built with the Amazon Alexa Skills * nodejs skill development kit. * This sample supports multiple lauguages. (en-US, en-GB, de-DE). * The Intent Schema, Custom Slots and Sample Utterances for this skill, as […]

Alexa nodejs从亚马逊Lamdba访问url

基于这个例子,我创build了一个简单的Alexa技能: https : //github.com/alexa/skill-sample-nodejs-fact/blob/en-US/lambda/custom/index.js 现在,当GetNewFactIntent被调用时,我想让脚本在不同的服务器上logging一些东西。 这是我想要做的,但有一个问题, 这不是它应该在http.getcallback。 'GetNewFactIntent': function () { //var thisisit = this; http.get("http://example.com", function(res) { //console.log("Got response: " + res.statusCode); const factArr = data; const factIndex = Math.floor(Math.random() * factArr.length); const randomFact = factArr[factIndex]; const speechOutput = GET_FACT_MESSAGE + randomFact; this.response.cardRenderer(SKILL_NAME, randomFact); this.response.speak(speechOutput); this.emit(':responseReady'); }).on('error', function(e) { //console.log("Got error: " + e.message); […]

如何在Nodejs中使用AWS Lambda列出所有用户池

如何从Cognito获取用户池清单? 另外获得用户池后,如何获得特定用户池中的用户列表? 我正在使用Nodejs Lambda函数从congnito中获取数据。

AWS Lambdas的本地开发服务器

有没有一个在本地运行AWS Lambdas的开发服务器? 我的要求是 nodejs服务器,没有ruby或go任何需要安装node和npm软件包以外的其他东西 创build一个服务器,我可以通过wget / curl查询或APItesting工具发送各种事件 我应该能够指定服务器使用的js文件作为lambda,并且当我更改该文件时服务器应该重新启动/更新

如何为AWS Lambda函数创build公共API路由?

AWS Lambda是否为我的Lambda函数提供了一个公共路由/端点? 还是必须构build一个完整的应用程序来处理路由和调用Lambda函数?