Articles of amazon web services

如何处理来自SQS的多个消息?

以下函数将从sqs接收多个消息。 必须处理每条消息并相应地更新数据库。 我可以通过调用worker模块的pull函数来处理单个消息。 但是如何处理多个消息呢? 我无法继续在一个循环中调用worker模块的pull方法,因为它会阻塞这个线程。 这里最好的方法是什么? function checkMessage(){ var params = { QueueUrl : Constant.QUEUE_URL, VisibilityTimeout: 0, WaitTimeSeconds: 20, MaxNumberOfMessages: 10 } sqs.receiveMessage(params,(err,data) => { if(data){ var workerId = uuidV4(); // Now worker will pull the message for processing // The worker response is returned in the callback function Worker.pull(data,workerId,(err,respData) => { if(respData){ // If […]

AWS Lambda不执行node.js MySQL查询

我工作的公司正在尝试将我们现有的一些代码库迁移到AWS Lambda。 我们正在运行node.js 4.3(为lambda提供的最高版本),我们在VPC内部执行以连接到RDS数据库。 Lambda函数连接到数据库就好了,但是对MySQL表的一个简单的select查询不会执行或返回任何错误。 这里是我们正在尝试的代码: exports.handler = (event, context, callback) => { /** * Require Config file **/ var config = require('./config.js'); /** * AWS/MWS Configuration **/ var AWS = require('aws-sdk'); var MWS = require('mws'); var mws = require('./lib/mws-reports/lib/mws.js'); var XML = require('./lib/mws-reports/pixl-xml'); var mwsReportsAPI = require('./lib/mws-reports/lib/reports.js'); var mwsFeedsAPI = require('./lib/mws-reports/lib/feeds.js'); AWS.config.region = config.AWS.region; […]

S3 Nodejs TypeError:无法读取属性path' 未定义

我在Nodejs中实现这个function,将文件(照片,mp3,pdf)上传到amazon web servicess3。 目前正试图上传一个MP3文件,但我不断收到错误:“TypeError:无法读取未定义的属性”path“。 我正在使用Multipart middlemware。 var fs = require('fs'); //S3FS instance var S3FS = require('s3fs') //multiparty middleware (to upload our file)—-> S3FS will read it's object and stream it to AWS //nmp install connect-multiparty var multiparty = require('connect-multiparty'), multipartyMiddleware = multiparty(); var express = require('express'); var route = express.Router(); module.exports = route; route.use(multipartyMiddleware); //create […]

使用SDK推送应用程序修订版

要使用CLI推送修订版,有一个命令,如: aws deploy push –application-name WordPress_App –description "This is my deployment" –ignore-hidden-files –s3-location s3://CodeDeployDemoBucket/WordPressApp.zip –source /tmp/MyLocalDeploymentFolder/ 我怎么能使用SDK来做到这一点? 我找不到方法,这将帮助我将应用程序推送到S3存储,尽pipe有一种方法可以创build一个部署(createDeployment)

如何确定哪个特定的Lambda请求触发了我的Kinesis事件?

我有一个连接到AWS Kinesis Stream(由其触发)的AWS lambda。 当我将事件发射到Kinesis时,我的lambda被调用。 下面是一些将事件推送到Kinesis的示例代码(这部分工作): var kinesis = new AWS.Kinesis({ region: 'us-east-1' }); var params = { Data: new Buffer(JSON.stringify(data)), StreamName: 'myStreamName', PartitionKey: uuid.v1() }; kinesis.putRecord(params, function(err, data) { done(); }); 当我成功创build一个logging,我得到这样的回应: { ShardId: 'shardId-000000000000', SequenceNumber: '49570419697469019326213778569044054238145932258132885506' } 我如何使用SequenceNumber来查找被触发的lambda的RequestId?

AmazonWebService – 我应该使用AWS API网关还是AWS SDK

我试图从NodeJS调用一个lambda函数。 经过研究,我知道两种方法来做到这一点: 将Lambda函数分配到AWS API网关并调用该API。 通过AWS SDK调用Lambda函数 API网关和AWS SDK的优缺点是什么? 何时使用上面的每个方法?

AWS lambda NodeJS PGP从文件解密到文件

我必须在NodeJS中实现的AWS lambda函数中解密和处理PGPencryption文件。 由于lambda函数的内存限制,解密的输出必须stream式传输到临时文件,而不是保存在内存中。 我查看了几个NodeJS模块,但是我找不到任何提供将input文件直接解密到输出文件的机制,同时最小化存储在内存中的数据。 任何build议如何做到这一点将不胜感激。

用AmazonconfigurationCodeShip的pathvariables是什么?

我有一个本地git回购,我正在尝试使用Codeship进行持续集成和部署。 https://documentation.codeship.com 我有github连接到持续集成,它似乎工作正常。 我有一个AWS账户和一个桶,有我的访问密钥和权限。 我正在尝试在codeship上configuration我的自动部署: S3 AWS Access Key ID: ****************4VOA AWS Secret Access Key: ************************************uC4j Region: eu-west-1 Local Path: .\Users\user\Documents\projects\test S3 Bucket: test-app-name-bucket ACL: bucket-owner-full-control 它不断给我一个错误,说本地path不存在。 我应该为这个领域做些什么?

使用node-redis将AWS redis连接到节点

我正在使用node-redis,并且很难连接到外部redis实例。 我试着用redis-cli,它工作。 但是,与节点,我无法弄清楚如何正确给url和端口。 随着Redis-cli- redis-cli -h mydomain.something.something.cache.amazonaws.com -p 6379 但是用nodejs 下面没有工作 var client = redis.createClient('redis://mydomain.something.something.cache.amazonaws.com:6379'), 也不 var client = redis.createClient({host:'redis://mydomain.something.something.cache.amazonaws.com', port: 6379}); 我如何configuration它。 请帮忙。

用ClaudiaJS和AWS Lambda发送POST HTTP

我在Facebook Messenger中build立一个推送通知服务。 我的nodejs应用程序在我的本地主机上正常工作,但不在AWS中。 我使用请求模块(npm)发送消息。 我的服务可以获取参数,但不发送HTTP POST。 var ApiBuilder = require('claudia-api-builder'), api = new ApiBuilder(); var request = require('request') api.get('hello', function (req) { var token = req.queryString.token; var sender = req.queryString.sender; var msg = req.queryString.msg; messageData = {}; messageData.text = msg; request({ url: 'https://graph.facebook.com/v2.6/me/messages', qs: { access_token: token }, method: 'POST', json: { recipient: { id: […]