Tag: 亚马逊 s3

Q.nvovo不能处理响应

我制作下载YouTubevideo的function并上传到s3。 但是我正面临着一个问题。如果我使用Q.all上传video到s3,它工作正常,但如果我在Q.all的地方使用Q.ninvoke,它总是无法处理成功的响应,并给错误object has no method apply function checkYoutubeRecord(youtubeRecords){ var totalCount = youtubeRecords.length; var count = 0; (function downloadLoop(record){ if(record.Size > 0){ if(count === totalCount-1){ console.log('\n\n\ncomplete downloading\n\n\n'); }else{ count = count + 1; downloadLoop(youtubeRecords[count]); } }else{ /*If the size of the record is zero then if don't need to check if it exist in the log […]

AWSfile upload超过5MB – nodejs

我正在使用这个模块上传文件到亚马逊 https://www.npmjs.com/package/streaming-s3 ,如果文件小于或等于5 MB,则工作正常。 我试图上传大小为6 MB的PDF文件。 它显示上传成功,但是当我试图通过aws打开该文件。 它显示无法加载PDF文档 当我检查大小Aws它显示5 MB。 我正在使用以下代码在AWS上进行上传 var options = { concurrentParts: 2, waitTime: 20000, retries: 2, maxPartSize: 10 * 1024 * 1024 }; //call stream function to upload the file to s3 var uploader = new streamingS3(fileReadStream, config.aws.accessKey, config.aws.secretKey, awsHeader, options); //start uploading uploader.begin();// important if callback not provided. // […]

Amazon S3提供InvalidDigest:您指​​定的Content-MD5无效

这是解决scheme:通过将MD5hex转换为base64而不是string来解决此问题。 JS的例子(Node.js或类似的,browserify等 new Buffer(md5, 'hex').toString('base64') 我花了几分钟的时间来弄明白,所以我想我可以分享它。 🙂

aws s3file upload使用aws-sdk nodejs

我试图从用户{angularjs前端}上传文件到aws s3桶,并parsing文件到nodejs api路由,但不断收到错误:“TypeError:无法读取未定义的属性”文件“..我能够从postman(铬扩展)上传文件通过发送文件的请求,但我不知道如何parsing文件从angular度到节点js。 下面是在做什么: // NODEJS代码: router.post('/user/upload', multipartMiddleware, function(req, res){ var file = req.files.file; var body = fs.createReadStream(file.path); var filename = 'post7/media.jpg'; var s3bucket3 = new AWS.S3(); s3bucket3.createBucket({Bucket: 'artistarc-user-post-media'}, function() { var data = {Bucket: 'artistarc-user-post-media', Key: filename, Body: body}; s3bucket3.putObject(data, function(err, data) { if (err) { console.log("Error uploading data: ", err); } else { […]

AWS S3文件在浏览器上传W / Signed URL时上传超时

我一直试图让这个工作2天。 我可以从我的节点服务器获取带有我的存储桶的凭证和文件信息的签名URL,但是当我尝试使用签名的URL上载文件时,我超时了。 这里是一些代码: var AWS_ACCESS_KEY = process.env.AWS_ACCESS_KEY; var AWS_SECRET_KEY = process.env.AWS_SECRET_KEY ; var S3_BUCKET = process.env.S3_BUCKET; exports.getS3Credentials = function(req, res) { aws.config.update({accessKeyId: AWS_ACCESS_KEY, secretAccessKey: AWS_SECRET_KEY}); var s3 = new aws.S3(); // The date is to help avoid overwriting var s3Key = Date.now() + req.query.file_name; var s3_params = { Bucket: S3_BUCKET, Key: s3Key, Expires: 60, ContentType: […]

与亚马逊lambda的邮编。 为什么它慢?

我想用s3桶使用亚马逊lambda来获得性能文件压缩。 我想要压缩的文件在一个桶中。 我正在testing的lambda应该获取文件path,并在同一个存储桶中创build一个zip文件。 我正在使用这个库https://github.com/orangewise/s3-zip ,我testing它就像这个例子: https : //github.com/orangewise/s3-zip/blob/master /aws_lambda.md 我只是运行一个testing,给出两个文件的path作为input。 其中一个有2 MB和第二个58 KB,它们是docx和doctypes。 testing事件如下所示: { "region": "eu-west-1", "bucket": "bucket_name", "folder": "folder_name/", "files": [ "file1.doc", "file2.docx" ], "zipFileName": "test.zip" } 我有这个testing报告 START RequestId: xxx Version: $LATEST 2016-07-26T20:40:02.084Z xxx event { region: 'eu-west-1', bucket: 'bucket_name', folder: 'folder_name/', files: [ 'file1.doc', 'file2.docx' ], zipFileName: 'test.zip' } 2016-07-26T20:40:02.765Z xxx […]

节点js中的AWS SDK javascript返回访问被拒绝

当我试图列出所有的桶时,它会按预期工作。 那么我可以确保我的设置是正确的。 问题是当我尝试列出存储桶的内容时: 我有节点js中的路由/:bucket app.get('/:bucket', function (req, res) { var bucket = req.params.bucket; var s3 = new AWS.S3(); var params = { Bucket: 'bucket' }; s3.listObjects(params, function (err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); }); 这不起作用,它返回访问被拒绝。 这是桶政策: { "Id": "Policy……………", "Version": "2012-10-17", "Statement": [ { […]

heroku上的meteorfile upload错误 – 存储名称已经存在:“_tempstore”

所有file uploadfunction正常工作在我的本地开发环境,但是当我已经部署我的应用程序到Heroku它开始给错误。 我已经重置数据库几次,但仍geting相同的错误。 错误: PUT …………………. 503 (Service Unavailable) "Queue" failed [503] Error in method "/cfs/files/:value/:value/", Error: Error: Storage name already exists: "_tempstore" 可以上一些从英雄帮助S3file upload的问题.. 我正在使用buildpack: https : //github.com/jordansissel/heroku-buildpack-meteor.git 为s3file upload我已经使用下面的包。 cfs:standard-packages cfs:s3 cfs:gridfs@=0.0.31 cfs:ui cfs:graphicsmagick

AWS S3标准上传schemevs基于浏览器的节点上传

我试图了解标准AWS S3上传scheme(例如使用aws-sdk)和基于浏览器的上传(特别是在node.js中)之间的实现差异。 我知道在任何情况下,都需要有一个服务器来存储我的AWS凭据并在S3上签名。 但是有一些我不明白的东西: 如果我使用基于浏览器的上传,我将在客户端使用HTML表单,并在隐藏字段中使用我的服务器获取的策略值。 但是,如果我使用标准scheme上传文件,即完全通过我的服务器,它究竟是如何实现的? 服务器端实现有很多代码示例,但客户端应该发生什么? 所以,会有一个HTML表单, action属性指向我的服务器的URL,指定用于file upload,对吧? 但是会发生什么呢? 将文件首先上传到我的服务器的存储,然后到S3? 或者它会以某种方式使用stream媒体或什么? 它真的让我困惑,我真的很感激一些代码示例,其中有服务器端和客户端代码。 这两个上传计划有什么优点和缺点? 我应该什么时候比另一种方式更倾向于一种方法(我的个人用例 – 用多帐户系统上传video)?

使用节点jsencryption文件并在PostgreSQL中解密文件

我是encryption和解密文件的新手 这里我试图encryptioncsv文件(客户端encryption),并推入S3的桶与期望的元数据,然后我试图解密(推)CSV文件从S3桶到红移使用PostgreSQL复制命令,但它抛出坏的encryption错误 我知道这实际上是一个普通的问题,当用户在一种语言encryption和解密在另一个,但我期待的结果。 这是我的代码 的NodeJS var fs = require('fs'); var crypto = require('crypto'); var sharedSecret = crypto.randomBytes(32).toString("base64"); var initializationVector = crypto.randomBytes(16).toString("base64"); var cipher = crypto.createCipher('AES256', sharedSecret,initializationVector); var input = fs.createReadStream('file.csv'); var output = fs.createWriteStream('fileEncrypt.csv'); input.pipe(cipher).pipe(output); output.on('finish', function() { console.log('Encrypted file written to disk!'); }); Redshift Copycommand COPY objects.encrypteddata (Date,Device, Start) FROM 's3://fakepath/fileEncrypt.csv' CREDENTIALS 'aws_access_key_id=<access_key>;aws_secret_access_key=<secret_key>;master_symmetric_key=<master_Key>' delimiter […]