Tag: amazon s3

确定AWS S3上传的部件大小和队列大小参数

我正在使用适用于S3的Node.js AWS SDK。 我有一个zip文件输出stream,我想上传到S3存储桶。 看起来很简单,阅读文档 。 但我注意到有可选的部分大小和队列大小参数,我想知道这些是什么? 我应该使用它们吗? 如果是的话,我如何确定适当的价值? 非常感激。

在S3存储桶中附加图像以使用SendGrid发送

我正在使用Xcode 7.3.1在Swift 2.2中编写一个iOS应用程序。 那么,对于我使用AWS Mobilehub ( S3和Lambda )的后端服务, 应用程序应该执行的操作:截取屏幕截图,将其发送到AWS S3存储桶,使用AWS Lambda函数触发器通过SendGrid发送屏幕截图。 我的问题:我似乎无法将S3存储桶中该死的图像附加到电子邮件。 本地它工作正常,但上传到Lambda时会引发以下错误: 错误:ENOENT:没有这样的文件或目录,打开'…' 使用下面的代码: 'use strict'; var fs = require('fs'); console.log('Loading function'); let aws = require('aws-sdk'); let s3 = new aws.S3({ apiVersion: '2006-03-01' }); exports.handler = (event, context, callback) => { // Get the object from the event and show its content type const […]

AWS Lambda使用触发器创build函数

我可以从AWS SDK中创buildlambda函数: var aws = require('aws-sdk'); var lambda = new aws.Lambda(); lambda.createFunction({ FunctionName: 'name', Code: { ZipFile: 'zip content' }, Role: 'role' }).promise(); 但是我怎么能指定这个函数应该触发与S3上传?

使用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)

HLS与S3直播 – 这些假设是否正确?

我想做一个直播。 而且,我想用HLS。 据我所知,HLS实时stream只是一个扩展名为“.m3u8”的主播放列表文件,列出了所有要播放的文件。 但是,对于直播,因为所有的文件都不容易获得,所以他们在进来时被添加。 我想现在使用S3来承载这些文件和播放列表文件。 现在,我想更新S3中的播放列表文件。 但它实际上将取代现有的播放列表文件,而不是只更新它(根据这个答案 )。 所以,我假设文件replace期间不会有死机。 如果有一个死亡时间,我该如何克服呢? 这是做到这一点的方式,还是有其他更好的方法来做到这一点。 我正在使用一个NodeJS服务器,只是FYI。 *没有文件时的死时间。

S3.getSignedUrl接受多个内容types

我正在使用react-s3-uploader节点包,它接受一个signingUrl来获得一个signedUrl来存储一个对象到S3中。 目前我已经configuration了一个lambda函数(带有一个API网关端点)来生成这个signedUrl。 经过一番修改之后,我得到了它的工作,但注意到我必须在我的lambda函数中定义content-type ,如下所示: var AWS = require('aws-sdk'); const S3 = new AWS.S3() AWS.config.update({ region: 'us-west-2' }) exports.handler = function(event, context) { console.log('context, ', context) console.log('event, ', event) var params = { Bucket: 'video-bucket', Key: 'videoname.mp4', Expires: 120, ACL: 'public-read', ContentType:'video/mp4' }; S3.getSignedUrl('putObject', params, function (err, url) { console.log('The URL is', url); context.done(null, {signedUrl: url}) […]

如何从multer访问上传的文件?

我能够上传一个图像到S3 。 现在,如果select的文件是.gif ,我希望能够将.gif文件转换为.mp4并将转换后的file upload到S3 。 我能够将一个.gif转换为.mp4与ffmpeg只有当我给文件的path。 如何访问Multer上传的文件? 以下是我的代码: var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var aws = require('aws-sdk'); var multer = require('multer'); var multerS3 = require('multer-s3'); var s3 = new aws.S3(); var ffmpeg = require('fluent-ffmpeg'); var upload = multer({ storage: multerS3({ s3: s3, bucket: 'myBucket', key: function (req, […]

从s3获取签名的URL以使用SSE-C解密上传的对象

我成功地使用以下代码片段来encryption和上传图片文件: var ssecKey = '12345678901234567890123456789012' var data = { Key: 'testfolder/abc.png', Body: buffer, ContentEncoding: 'base64', ContentType: 'image/png', SSECustomerAlgorithm: 'AES256', SSECustomerKey: ssecKey }; s3.putObject(data, (err) => { if (err) return console.error(err.stack) s3.getSignedUrl('getObject', { Key: 'testfolder/abc.png', Expires: 160, SSECustomerAlgorithm: 'AES256', SSECustomerKey: ssecKey }, (err, data) => { if (err) return console.error(err.stack) console.log(data); }); }); 为了得到解密的对象,我使用getsignedurl方法,控制台输出一个签名的url,但是不解密图像,因此在浏览器上显示如下错误: 我可能在这里做错了什么。

Lambda函数失败,没有生成日志

我正在玩这个PDF到图像转换器 ,我克隆了回购,运行npm install ,改变了这一部分: var s3EventHandler = new S3EventHandler({ region: 'my-region', outputBucketName: 'my-bucket-name' s3: s3, resolution: 72 }); 将它重命名为exports.js,压缩了js,node_modules文件夹,package.json和event.json(我也尝试将这两个jsons移除)并将其上传到我的Lambda函数中。 s3触发器已经创build,到目前为止工作正常。 我有多个testing失败,因为它找不到asynchronous模块和tmp模块,我已经移动到顶层,它似乎修复它(但它并没有抱怨它的其他模块要求和不在最高一级)。 在testing中,它抱怨s3没有被定义,因为它没有很多的细节,我正在失去。 我认为这可能是我正在运行testing,所以s3触发器本身缺失。 当我上传PDF到存储桶中时,Lambda报告它运行但失败。 进入CloudWatch Logs说没有日志stream。 我已经检查了IAMangular色,并且拥有CreateLogStream和PutLogEvents权限(这是模板化的IAM策略)。 我怎样才能使我的日志工作find问题? 或者,我可以做些什么来解决s3未定义的问题,这是我唯一的线索atm? 这可能与顶层模块需求有关,但是由于只有一些模块需要处于最高层,所以看起来并不一致。

从NodeJS缓冲区到S3文件

我有一个包含文件数据的API调用返回的缓冲区,但是当我尝试S3.Upload()或fs.write() ,除了PDF之外的任何东西都是损坏的(png,jpg,.doc,.docx是关键types我需要)。 对于PDF,我只是使用二进制数据( fs.writeFile('myFile.docx', myBuffer) ),但我也试过: fs.writeFile('myFile.docx', myBuffer.toString('base64')) , fs.writeFile('myFile.docx', myBuffer.toString('utf8')) , fs.writeFile('myFile.docx', myBuffer.toString('binary')) 我相信这是从缓冲区编码二进制文件,但我已经达到了上述尝试的知识的极限。