Tag: amazon web services

扫描两个时间戳之间的查询

我正在为DynamoDB使用aws-sdk编写nodejs 5.7.1应用程序。 我有一个我用下面的代码创build的事件表: var statsTableName='bingodrive_statistics'; var eventNameColumn = 'event_name'; var eventTimeColumn = 'event_time'; var eventDataColumn = 'event_data'; var params = { TableName: statsTableName, KeySchema: [ // The type of of schema. Must start with a HASH type, with an optional second RANGE. { // Required HASH type attribute AttributeName: eventNameColumn, KeyType: 'HASH', }, { // […]

DynamoDB和Node Js:意外的令牌h

我试图与DynamoDB竞争Node js亚马逊入门指南。 我试图创build一个表,但这里是我的错误: Unable to create table. Error JSON: { "message": "Unexpected token h", "code": "SyntaxError", "time": "2016-05-06T16:59:50.411Z", "statusCode": 200, "retryable": false, "retryDelay": 0 我正在运行以下节点(直接从亚马逊开始指南): var AWS = require("aws-sdk"); AWS.config.loadFromPath('./.aws/credentials.json'); AWS.config.update({ region: "us-west-2", endpoint: "http://localhost:8000" }); var dynamodb = new AWS.DynamoDB(); var params = { TableName : "Movies", KeySchema: [ { AttributeName: "year", KeyType: "HASH"}, […]

在AWS EC2上按计划运行Node.js函数

我试图实现按计划的时间间隔在AWS EC2实例上运行Node.js代码的能力。 它与AWS Lambda的工作方式类似,但Lambda不提供我需要的资源量。 我已经有一个工作Node.js应用程序,我只需要得到它在EC2上运行(我认为)。 林新的服务器和EC2,所以我迷失在如何实现这一点。 我能够设置并运行一个EC2实例,但运行代码是另一回事。 我的想法是在EC2实例上托pipeNode.js应用程序,但在调度应用程序以在EC2中启动的时间表上运行Lambda函数。 我只是不知道从哪里开始学习如何做到这一点。 一如既往,感谢您的帮助!

AWS Lambda Invoke不执行lambda函数

我创build了4个Lambda函数来处理将写入MySQL表的信息。 前三个函数分别select插入和更新一个MYSQL表logging。 然后我创build了第四个函数来接受logging细节作为事件参数的一部分。 这个函数首先尝试通过调用第一个lambda函数来selectlogging,如果find它,将使用更新lambda函数更新表上的logging。 如果没有find它,它将调用插入函数来添加logging。 我正在使用操作MySQL表的3个函数pool.query。 我也使用lambda.invoke从第四个函数调用这三个函数。 我能够通过传递logging细节作为参数成功地在本地testing第四个函数,并且能够成功调用三个Lambda函数并更新mySQL表logging。 我遇到的问题是,当我在AWS Lambda中上传函数时,它不会调用这三个函数中的任何一个。 我没有看到日志中的任何错误,所以我不知道如何检查问题出在哪里。 以下是调用其他函数的y代码: exports.handler = (event, context, callback) => { var err = null; var payload = { qryString : event.qryString, record: event.updaterecord, dbConfigPool : event.dbConfigPool } var params = { FunctionName: 'getInventory', Payload: JSON.stringify(payload) } console.log(' before invoke ' + JSON.stringify(params) ) lambda.invoke(params, function(err, data) […]

在主程序之前在lambda中加载S3文件

我正在写一个lambda函数,需要加载一个存储在S3中的密钥。 它不会经常改变,所以我宁愿不要每次调用lambda函数都抓住它,所以我想在容器被启动时加载一次,然后在lambda容器的生命周期中保存该值。 但是,由于asynchronous方法getObject,这导致了一个问题,因为在运行main module.export代码时(特别是如果这是第一次运行并且正在创build容器),文件可能未被加载。 我已经使用setTimeout实现了一个解决方法,但是我想看看这个推荐的方法是什么,而且我的方法有什么问题,因为它感觉不对! 示例代码: var AWS = require('aws-sdk') var s3 = new AWS.S3(); var fileLoaded = false; var params = { Bucket: 'bucket-name', Key: 'file-name' }; s3.getObject(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else { console.log('File loaded from S3'); fileLoaded = true; } }); exports.handler = (event, context, […]

Lambda函数不执行http.get

我有一个函数,当在本地testing工作正常,但通过AWS Lambda运行似乎并没有执行HTTP get。 代码如下: function makeAPIRequest(path, responseControl, callback) { var responseString = ''; console.log("Executing makeAPIRequest to " + apiSettings.host + " and path " + path); var options = { host: apiSettings.host, path: path, method: 'GET', headers: { 'X-Auth-Token': apiSettings.token } }; http.get(options, function (res) { console.log('Status Code: ' + res.statusCode); if (res.statusCode != 200) […]

叉与亚马逊Lambdajoin

我正在尝试写一个lambda函数来触发许多小的lambdaexpression式 exports.handler = (event, context, callback) => { var AWS = require('aws-sdk'); let noOfPages = 20, currentPage = 1; var message = ''; //let payloadArray = []; while(currentPage <= noOfPages){ message = '{"first_page": '+ currentPage +', "last_page": '+ (currentPage) + ', "file_name" : "something.doc"' +'}'; console.log(message); var params = { FunctionName: 'test', InvocationType: 'Event', LogType: […]

在AWS lambda函数中使用require

我目前正在研究AWS lambda函数,如果我可以在其中使用require语句,我就可以find任何地方,这样我就可以使用其他非lambda函数。 我知道关于压缩节点模块文件夹,但这不帮我在这里,因为我不打算使用节点模块,感谢任何答案!

如何将API调用限制到AWS EC2上的节点应用程序

我有一个在Namecheap上托pipe的Web站点和一个在AWS EC2上的节点应用程序。 节点应用程序只处理几个API调用。 Namecheap上的网站向节点应用程序发送AJAX调用以接收机密信息。 我试图限制访问节点的应用程序只有我的网站上的Namecheap,以便没有其他人可以对节点应用程序的Ajax调用。 我怎样才能做到这一点? 感谢您的关注!

在AWS Lambda中使用JavaScript eval()

我想使用AWS Lambda运行用户通过Web提交的JavaScript代码。 我的Lambda函数会返回返回值stderr和stdout 。 我可以遇到什么问题? 恶意用户是否能够提交导致Lambda函数问题的代码? 执行用户所做的更改,例如对于节点环境或文件系统,是否在整个调用中保持不变? 有什么办法可以防止呢? 而不是eval()我可以将文件写入Lambda文件系统并调用: const userCodeProcess = require('child_process').fork('user_code.js') userCodeProcess.on('message', response.send)