Articles of amazon web services

如何使用Node.js将文件直接上传到Amazon Cloud Front

我刚刚configuration了Amazon Cloud Front分配,并将其连接到现有的Amazon S3存储桶。 话虽如此,这个桶可容纳10GB到40GB的video文件,我想用CF来使上传过程更快(也是下载,但上传在这种情况下更重要)。 最后,我创build了一个简单的JS脚本来将文件推送到连接到CF的这个存储桶: var AWS_ACCESS_KEY_ID = "111", AWS_SECRET_ACCESS_KEY = "222", S3_BUCKET = "videos.company.com", S3_KEY = "remote_filename.mkv", fs = require('fs'), AWS = require('aws-sdk'); AWS.config.update({accessKeyId: AWS_ACCESS_KEY_ID, secretAccessKey: AWS_SECRET_ACCESS_KEY}); var startDate = new Date().toUTCString(); var fileStream = fs.createReadStream(__dirname + '/test.mkv'); fileStream.on('error', function (err) { if (err) { throw err; } }); fileStream.on('open', function () { […]

AWS上的GD字体path用于.ttf

在常规的AWS EC2实例中是否有可用的path的标准字体? 我需要提供一个.ttf文件的完整path来使用GDgraphics工具的基本function。 AWS不会让我将.ttffile upload到主应用程序文件中。 我需要使用/设置S3存储桶吗? 服务器和GD工具是否能够使用直接path到S3上托pipe的.ttf文件? 任何解决方法? 我会很高兴在这一点上任何.ttf字体文件,将工作的GD。 我不需要任何自定义字体,只是gd工具可以访问的任何字体的path: 或多或less,这里是我创build的节点模块的代码,使用处理的数据制作图像: //forum-sig.js var gd = require('nod-gd') module.exports{ createSig: function(text, name){ var sigimg = gd.createSync(360, 180); var red = sigimg.colorAllocate(255, 0, 0) var white = sigimg.collorAllocate(255,255,255); // set full path to file // example var fontPath = '/full/path/to/font.ttf'; var fontPath = './public/OpenSans-Bold.ttf' //this path works locally […]

使用Connect Multiparty,Jimp和Amazon s3fs节点模块将resize的照片上传到Amazon s3

我目前有以下代码设置从客户端发送到一个快速服务器的文件。 const data = new FormData() data.append('programPhoto', imageFromFileInput, fileName) $.ajax({ url: requestUrl, data: data, cache: false, contentType: false, processData: false, type: 'POST' }) 在服务器上,我使用Connect-Multiparty将req对象上的这个图像文件作为req.files [0] const multiParty = require('connect-multiparty'); const multiPartyMiddleware = multiParty(); app.use(multiPartyMiddleware); 我有一个帮助function,该文件并将其上传到亚马逊S3成功和伟大的工作。 它看起来像这样: const constants = require('../config/constants'); const keys = require('../config/config.js') const fs = require('fs'); const S3FS = require('s3fs'); const Jimp = […]

如何使用KMS将S3encryption到nodejs中?

我有一些问题。 我有几个lambda函数,如果我创build脚本本地化,并运行它,所有的工作,但如果我的代码工作在远程lambda我有错误:访问被拒绝 S3Service.prototype.PutFile = function (bucket, key, body, type, callback) { var s3 = new this.AWS.S3({region: awsConfig.region,"signatureVersion":"v4"}); var params = { Bucket: bucket, Key: key, Body: body, ContentType: type, ACL: 'public-read-write', ServerSideEncryption: 'aws:kms', SSEKMSKeyId: awsConfig.kmsKeyId }; s3.putObject(params, function (err, res) { if (err) { callback(new InternalServerError(err)); } else { callback(null); } }); }; S3Service.prototype.GetFile = […]

Node.js进程在aws实例中被杀死

我们正在尝试将我们的节点js应用程序(AngularJS / NodeJS技术堆栈)部署到生产环境中。 随机地,一些ec2实例随着节点进程的死亡而下降。 但没有应用程序/系统级别的错误消息被logging。 我们无法在本地/ dev / it环境中复制此问题。 有没有人遇到类似的东西? 任何帮助深表感谢。 谢谢!

parsing服务器云代码afterSave不工作在Elastic Beanstalk上

我为我的Parse服务器创build了Cloud代码afterSave和beforeSave函数,当我在本地运行我的服务器时,它运行完美。 但是,当我部署到Elastic Beanstalk时, afterSavefunction根本不起作用。 beforeSave 我试着按照这里的build议,以及其他多个随机尝试没有成功。 示例afterSave在Elastic Beanstalk上不起作用: Parse.Cloud.afterSave("Entry", function(request) { var entry = request.object; var user = request.user; user.increment("totalDistance", entry.get("totalDistance")); user.save(); }); 注:我不知道如何find/访问我的Elastic Beanstalk NodeJS日志任何地方或以任何方式?

在AWS EC2上使用SSL证书启动nodejs服务器

我试图用httpsconfiguration服务器。 在本地服务器上,本地私钥和证书工作。 代码是: var https = require('https'); const options = { key: fs.readFileSync('./privatekey.key'), cert: fs.readFileSync('./certificate.crt') }; var server = https.createServer(options, app); 但是,当我购买SSL证书并尝试在AWS服务器上使用它时,根本不起作用。 var https = require('https'); const options = { key: fs.readFileSync('privatekey.pem'), cert: fs.readFileSync('./ssl/portal.crt'), ca: [fs.readFileSync('./ssl/portal.ca-bundle')] }; 它总是显示网页不可用。 我也尝试将服务器证书上传到AWSconfiguration,但仍然失败。 有谁知道如何解决这一问题?

cloudSearch有没有办法在q(queryString)中使用expr的结果

我想得到只有在0到500范围内的文件,任何人都可以帮助我 let qs = this.serialize({ 'q': "nikhil+range **<distance <= 500>**", 'expr.distance': "haversin(35.621966,-120.686706,latlong.latitude,latlong.longitude)", 'sort': "distance asc", 'q.parser' = "structured", 'return': "distance,displayname,profileimageurl" }); console.log(qs); return http.get({ host: 'search-vegme-user-7l3rylms73566frh4hwxblekn4.us-east-1.cloudsearch.amazonaws.com', path: '/2013-01-01/search?' + qs }, function(response) { // Continuously update stream with data var body = ''; response.on('data', function(d) { body += d; }); response.on('end', function() { console.log(body); }); […]

cloudSearch:将范围在0到某个值之间的距离

我想包括距离<500的文件,但我得到的所有文件的帮助 http://search-vegme-user-7l3rylms73566frh4hwxblekn4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search? q=fname:'nikhil' & expr.distance=haversin(35.621966,-120.686706,latlong.latitude,latlong.longitude)<=500& sort=distance asc&q.parser=structured& return=displayname,profileimageurl,distance 点击这里运行它

带有aws-sdk的Amazon SQS receiveMessage失速

我正在使用aws-sdk节点模块(据我所知)批准的方式轮询消息。 基本上总结: sqs.receiveMessage({ QueueUrl: queueUrl, MaxNumberOfMessages: 10, WaitTimeSeconds: 20 }, function(err, data) { if (err) { logger.fatal('Error on Message Recieve'); logger.fatal(err); } else { // all good if (undefined === data.Messages) { logger.info('No Messages Object'); } else if (data.Messages.length > 0) { logger.info('Messages Count: ' + data.Messages.length); var delete_batch = new Array(); for (var x=0;x<data.Messages.length;x++) […]