Articles of 亚马逊 s3

Alexa Skill FeedHelper.js – 我如何获得机箱的url?

我正在使用亚马逊的蓝图来开发Alexa饲料技能。 在这个蓝图中,RSS源从一个URL被调用并转换成JSON格式并保存在Amazon S3上。 这个文件负责做这个动作(对于标准的元素来说它是很好的) https://github.com/alexa/skill-sample-nodejs-feed/blob/master/lambda/custom/feedHelper.js 我现在也需要shell的url,因为我想播放一个播客。 我认为这将通过添加以下内容到第63行的feedHelper.js中: if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure'].attributes['url']; } 但是S3在这个文件的帮助下生成的JSON在那里仍然没有包含元素。 我甚至把它调用正确吗? 我也试过了: if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure'].url; } 和 if (item['enclosure']) { feedItem['enclosureUrl'] = item['enclosure']['url']; } 另一个问题是,audio链接与https://链接,亚马逊不接受HTTP …但是,当我在浏览器栏中手动将此地址与https放在前面时,下载工作正常。 所以希望我能够把这个机箱标签中的HTTP改成https,就像这里所描述的那样? http://code.dblock.org/2017/02/09/alexa-skill-to-play-your-podcast.html 所以总结上面:我需要从RSS提要这个元素 <enclosure type="audio/mpeg" url="http://feeds.soundcloud.com/stream/file.mp3" length="7087881"/> 写入使用feedHelper.js创build的JSON中 目前,尽pipe我的代码如上,但它并没有在json中生成任何机箱元素。 有没有人有一个想法? 谢谢!

为什么我的文件没有上传到S3使用Node.js

我正在使用这个https://github.com/nuxusr/Node.js—Amazon-S3上传文件到S3: 在test-s3-upload.js我大部分的testing都是这样评论的,因为他们给出了一些错误,因为我的目标是将file upload到s3,所以我只保留testUploadFileToBucket()testing,而运行node test.js给出正常。 但是当我检查s3狐狸上传的文件没有被显示。 为什么文件没有上传?

Node.js – 将canvas保存为图像

我的堆栈是在Heroku上运行的Node / Express / Mongo / Jade。 我正尝试使用writeFile将canvas保存为文件系统中的png。 app.post('/savePlaylist', ensureAuthenticated, function(req, res){ var pl = new Playlist({ name: req.body.playlistName, creatorID: req.user.oauthID, creatorName: req.user.name, description: req.body.desc, songs: [] }); var img = req.body.imgBase64; var data = img.replace(/^data:image\/\w+;base64,/, ""); var buf = new Buffer(data, 'base64'); //console.log("Buffer: " + buf); fs.writeFile('./public/img/coverpics/image-' + pl._id + '.png', buf, function(err){ if(err){ […]

使用ExpressJS限制文件大小时将streamfile upload到S3

我想将用户的file upload到S3。 我有一个Web客户端/ NodeJS Express解决scheme。 到目前为止,在我的研究中,我发现使用分段上传,我可以做任何一个这样的: 1.)如果直接使用pipe道启用stream,那么我无法控制文件的大小 。 2.)如果需要控制大小,必须禁用pipe道/stream,并且必须将文件写入磁盘或内存缓冲区才能检查文件大小,然后将其传送到S3。 有什么办法可以让这两个? 我正在看以下中间件: 打杂 多党 multer 强大

Heroku dynos不共享文件系统

我的herokunetworking应用程序有一个function,从S3下载图像。 它是这样工作的: 有一个端点(A)请求下载一个图像数组,返回一个任务ID。 这些图像由A下载到我的应用程序的tmp Heroku文件夹中。 当所有的图像下载时,一个zip文件被创build。 当图像仍然可以下载时,networking客户端从点1调用具有任务ID的另一端点(B)。该第二端点检查已经下载了多less图像以返回进度百分比。 当压缩文件已经被创build时,它将“返回”压缩文件并下载图像。 这个方法在Heroku中用1个dyno运行良好。 不幸的是,在扩展到2个dynos后,我们意识到它不再工作。 原因是Heroku中的dynos不共享相同的文件系统,端点A和B由不同的dynospipe理。 因此,端点B中的测功机没有find任何文件。 有没有一种简单的方法使我的方法与多个dynos一起工作? 如果不是,我应该如何实现所描述的function? (从S3下载一个zip文件中的多个图像)

AWS s3 listobjects与分页

我想用aws s3来实现分页。 在对象ms.files中有500个文件,但是我想一次只检索20个文件,而下一个则只检索20个文件等等。 var params = { Bucket: 'mystore.in', Delimiter: '/', Prefix: '/s/ms.files/', Marker:'images', }; s3.listObjects(params, function(err, data) { if (err) console.log(err, err.stack); else console.log(data); });

nodejs在本地文件系统和Amazon S3文件系统之间切换的最佳方法是什么?

我正在寻找使用本地文件系统和Amazon S3文件系统进行切换的最佳方式。 我想理想情况下,我想要一个封装到我可以编码的两个文件系统。 configuration更改会告诉包装器使用哪个文件系统。 这对我来说很有用,因为开发人员可以使用本地文件系统,但是我们的托pipe环境只需更改configuration选项即可使用Amazon S3。 有没有现有的包装这样做? 我应该写我自己的包装? 有没有另一种方法我不知道会更好?

从AWS显示用户的个人资料图片

我完全不熟悉AWS,我想了解一些关键概念在开始构build之前是如何工作的。 我发现本教程直接将图像上传到节点JS中的AWS: https://devcenter.heroku.com/articles/s3-upload-node#uploading-directly-to-s3 在我的webapp中,我使用的是MongoDB,每个用户(用户模式)都能够更改他们的个人资料图片。 在高层次上,我一直在想用户select一个新的图片并点击保存,我会按照上面的步骤直接上传新的图像到AWS的“桶”。 那么我将如何将其呈现在用户的个人资料页面上? 我是否需要在AWS端使用数据库(并跳过我的应用程序的mongodb部分),将每个用户与个人资料图片相关联? 我理解“保存到AWS”部分,但是不清楚如何以与用户关联的方式来检索/呈现映像(保存到AWS后)。 这是我的mongoose用户架构: 'use strict'; var crypto = require('crypto'); var bcrypt = require('bcryptjs'); var mongoose = require('mongoose'); var recipeSchema = require('./recipe.js').schema; //need the objectID, see: https://gist.github.com/fwielstra/1025038 var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId; var userSchema = new Schema({ email: { type: String }, password: String, resetPasswordToken: String, resetPasswordExpires: […]

将模型导入为对象,而不是在使用Express的Node.js项目中运行

我有一个使用快递的node.js项目。 在这个项目中,我有一个models文件夹,其中包含项目中使用的不同模型。 在我的MosaicParTileStreamerS3Only模型中,我有以下几点: 'use strict'; var GlobalMercator = require('./GlobalMercator.js'); var S3 = require('./S3.js'); var binary = require('binary'); var bufferpack = require('bufferpack'); function MosaicParTileStreamerS3Only() { }; 进一步进入这个模型,我使用S3没有任何问题: MosaicParTileStreamerS3Only.prototype.Init = function(filepath, index, s3config){ var retval = false; this.s3 = new S3(s3config.access_key, s3config.secret_key, s3config.host); var host = s3config.host; var bucket = s3config.bucket; filepath = s3config.tile_directory + filepath; var […]

aws-sdk上传到S3在KOA中工作,但在通过Mocha调用时停止工作

我需要从koa上传一个文件到s3,我对koa来说很新,可能丢失了一些明显的东西。 它实际上完成了200,但文件从来没有出现在S3上。 这里是我的app.js的一个片段: 'use strict'; var jwt = require('koa-jwt'); var bodyParser = require('koa-bodyparser'); var koaBody = require('koa-body'); const app = module.exports = require('koa')() .use(koaBody({multipart:true})) // this is to pase only multipart forms .use(require('./routes/common')) .use(require('./routes/auth')) .use(require('./routes/users_public')) .use(jwt({ secret: SECRET })) //protected routes below this line .use(require('./routes/subcontractors_private')) .listen(process.env.PORT || 3000); subcontractors_private.js看起来像这样: 'use strict'; var AWS = require('aws-sdk'); […]