Tag: aws sdk

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

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

如何使用DynamoDB中的IN条件查询表

努力寻找一个如何查询表的例子,以返回给定列表中的id。 下面的查询将引发IN的包含 var params = { id: '7deb3df9-552b-47a4-aef3-ad601f141d50' }; var p = { TableName: 'players', KeyConditionExpression: 'id IN (:id)', ExpressionAttributeValues: buildQuery(params) };

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}) […]

在Node中本地使用dynamodb时,“无法从任何提供程序加载凭据”

即时build立一个dynamodb本地testing我的节点应用程序。 要设置它,我只是简单地从这里复制代码,并根据我的需要进行调整。 这是代码: var AWS = require("aws-sdk"); var config = ({ "apiVersion": "2012-08-10", "accessKeyId": "abcde", "secretAccessKey": "abcde", "region": "us-west-2", "endpoint": "http://localhost:8001", }); var dynamodb = new AWS.DynamoDB(config); var params = { TableName : "Movies", KeySchema: [ { AttributeName: "year", KeyType: "HASH"}, //Partition key { AttributeName: "title", KeyType: "RANGE" } //Sort key ], AttributeDefinitions: [ { […]

从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,但是不解密图像,因此在浏览器上显示如下错误: 我可能在这里做错了什么。

从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')) 我相信这是从缓冲区编码二进制文件,但我已经达到了上述尝试的知识的极限。

AWS IOT节点sdk为listThings和createThing提供了ResourceNotFoundException

我试图获得注册的东西的细节,并创造新的东西。 我为他们获得了ResourceNotFoundException。 var AWS = require('aws-sdk'); var iot = new AWS.Iot({ endpoint: "https://XXXXXXXXXX.iot.us-east-1.amazonaws.com", region: "us-east-1", accessKeyId: "XXXXXXXXXX", secretAccessKey: "XXXXXXXXXX" }); var params = { thingName: 'D02', attributePayload: { attributes: { 'Org': 'Org2' }, merge: false }, thingTypeName: 'thing1' }; iot.createThing(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful […]

aws-sdk崩溃的nodejs程序

我使用javascript的aws-sdk。 下面的代码在独立程序中使用时工作正常 //program.js const AWS = require('aws-sdk'); const firehose = new AWS.Firehose({ accessKeyId: "XXX", secretAccessKey: "YY" }); const params = { DeliveryStreamName: 'demo1', Record: { Data: new Buffer("Hello World") } }; firehose.putRecord(params, function (err, data){ if (err) { console.log(err); return; } console.log(data); // successful response }); 上面的代码再次作为一个独立的文件工作正常。 数据被推入stream水,然后进一步到红移。 所以如果我执行 node program.js 我能够在Redshift中看到我的数据。 好极了!! ============================= 但是,我真正想要实现的是在特定的应用程序中某条路线被击中时将数据推送出去。 […]

模拟一个依赖的构造函数Jest

我是Jest的新手。 我设法嘲笑我自己的东西,但似乎卡住嘲笑一个模块。 具体的构造函数。 usage.js const AWS = require("aws-sdk") cw = new AWS.CloudWatch({apiVersion: "2010-08-01"}) … function myMetrics(params) { cw.putMetricData(params, function(err, data){}) } 我想在testing中做这样的事情。 const AWS = jest.mock("aws-sdk") class FakeMetrics { constructor() {} putMetricData(foo,callback) { callback(null, "yay!") } } AWS.CloudWatch = jest.fn( (props) => new FakeMetrics()) 但是,当我在usage.js使用它时,cw是一个mockConstructor而不是FakeMetrics 我意识到,我的方法可能是“不太习惯”,所以我会很好的任何指针。 这是一个最小的例子https://github.com/ollyjshaw/jest_constructor_so npm install -g jest jest

在Meteor中不能使用aws-sdk

出于某种原因,我似乎无法让AWS SDK在Meteor 0.7.0.1中工作。 如果我使用npm安装,我得到以下内容: While building the application: node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/test.html:1: Can't set DOCTYPE here. (Meteor sets <!DOCTYPE html> for you) node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/LICENSE-W3C.html:1: Can't set DOCTYPE here. (Meteor sets <!DOCTYPE html> for you) node_modules/aws-sdk/dist/console.html:1: Can't set DOCTYPE here. (Meteor sets <!DOCTYPE html> for you) node_modules/aws-sdk/dist/s3upload.html:1: Can't set DOCTYPE here. (Meteor sets <!DOCTYPE html> for you) node_modules/aws-sdk/dist/tests.html:1: Can't set […]