Tag: aws sdk

AWS EC2 IAMangular色凭证

使用AWS的Node sdk,我试图使用连接到我的Node应用程序正在运行的EC2实例的IAMangular色给出的凭据和权限。 根据sdk文档,可以使用EC2MetadataCredentials类来为sdk分配configuration属性。 在我使用sdk访问DynamoDB实例的文件中,我有configuration代码: import AWS from 'aws-sdk' AWS.config.region = 'us-east-1' AWS.config.credentials = new AWS.EC2MetadataCredentials({ httpOptions: { timeout: 5000 }, maxRetries: 10, retryDelayOptions: { base: 200 } }) const dynamodb = new AWS.DynamoDB({ endpoint: 'https://dynamodb.us-east-1.amazonaws.com', apiVersion: '2012-08-10' }) 但是,当我试图访问Web应用程序时,我总是得到一个错误: Uncaught TypeError:d.default.EC2MetadataCredentials不是一个构造函数 Uncaught TypeError:_awsSdk2.default.EC2MetadataCredentials不是一个构造函数 即使这是从文档的确切用法! 有什么我失踪的小东西? 更新: 从文件中删除credentials和region定义会导致另一个错误,它会说: Error: Missing region|credentials in config

无法从任何提供程序nodemailer aws加载凭据

我一直在努力寻找一个解决我的问题一段时间。 我一直在尝试使用nodemailer和nodemailer-ses-transport。 这里是nodemailer代码: var cfg = require('../config/config'); var nodemailer = require('nodemailer'); var aws = require('nodemailer-ses-transport'); var transporter = nodemailer.createTransport(aws({ accessKeyId: cfg.KEY, secretAccessKey: cfg.SKEY, default_region: cfg.REG, ratelimit: 5 })); router.post('/signup', function(req, res, next){ passport.authenticate('local.signup', function(err, user, info) { if (err) { return next(err); } // Redirect if it fails if (!user) { return res.redirect('/signup'); } req.logIn(user, […]

使用请求从节点stream上传到S3的问题

使用Node.js ,我试图上传一个大的文件(700MB〜1GB),作为响应POST请求(使用请求 ),到我的S3桶。 使用aws-sdk for Javascript iv'e尝试了两种方法,但每个都有一个不同的问题: 方法 1 – 尝试在response事件上调用s3.upload()函数: const sendRequest = (data) => { try { return new Promise((resolve, reject) => { AWS.config.loadFromPath('./config/awsConfig.json'); let s3 = new AWS.S3({ params:{ Bucket:'myBucket', Key:'path/to/file.csv' } }); request({ method: 'POST', uri: 'https://www.example.com/apiEndpoint', headers: { host: 'example.com', 'content-type': 'application/json' }, body: JSON.stringify(data) }).on('response', (response) => { // […]

ValidationException:ExpressionAttributeValues不能为空

即使ExpressionAttributeValues不是空的它给我这个错误ValidationException:ExpressionAttributeValues一定不能是空的 app.post('/gpsfromuser', passport.authenticate('jwt', {session: false}), (req, res) => { var xcorpassed = req.body.xcor var ycorpassed = req.body.ycor console.log(xcorpassed); console.log(ycorpassed); var params = { TableName:passengers, Key:{ "pid": req.user.id }, UpdateExpression: "set cordx=:x, cordy=:y", ExpressionAttributeValues:{ ":x":xcorpassed, ":y":ycorpassed }, ReturnValues:"UPDATED_NEW" }; console.log("Updating the item…"); docClient.update(params, function(err, data) { if (err) { console.error("Unable to update item. Error JSON:", JSON.stringify(err, […]

将http响应直接发送到S3存储桶

我试图通过http下载一个pdf文件并将其上传到S3 Bucket上。 HTTP响应内容types是application/pdf ,我试图简单地保存/上传在S3上的文件。 http.get(options, function (resp) { resp.setEncoding('binary'); var data = ""; resp.on('data', function (chunk) { data += chunk; }); resp.on("end", function () { var fileName = documentId + "___test.pdf"; awsS3.uploadBinaryData(fileName, data, function (err, data) { return res.json(new CustomResponse('done')); }) }); 而uploadBinaryData方法如下所示: var params = { Bucket: config.get("S3.BUCKET_NAME"), Key: fileName, Body: data, ACL: "public-read", […]

我如何使用node.js的aws-sdk

我正在尝试使用aws-sdk从node.js调用AWS Lambda函数(简单的Hello World)。 这是我的代码: var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var AWS = require('aws-sdk'); AWS.config.accessKeyId='xxxxxxxx'; AWS.config.secretAccessKey='xxxxxxxx'; AWS.config.region = 'us-east-1'; var lambda = new AWS.Lambda(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.get('/', function(req, res) { var params = { FunctionName: 'myLambdaFunction', InvocationType : 'Event', Payload: JSON.stringify( { "body" : { "key":req.body.key […]

简单的aws-sdk为nodejs不工作

我正在尝试使用Amazon的节点插件在我的S3帐户上发生一个简单的过程https://github.com/aws/aws-sdk-js 这是我的节点代码: var AWS = require('aws-sdk'); var s3 = new AWS.S3(); AWS.config.update({ "accessKeyId": "ACCESS_KEY", "secretAccessKey": "SECRET", "region": "us-west-2" }); s3.createBucket({Bucket: 'testBucket'}); 我有一个感觉,我的问题有更多的与我的权限在S3上,但不知道。 我正在使用的用户附带有一个“AmazonS3FullAccess”策略。 还有什么我失踪?

确定aws-sdk是否configuration了全局凭据

从AWS SDKconfiguration指南中提供的信息中,有多种configurationSDK的方法: 从Amazon EC2的IAMangular色加载(如果在EC2上运行), 从共享凭证文件(〜/ .aws / credentials)加载, 从环境variables加载, 从磁盘上的JSON文件加载, 硬编码在您的应用程序中 有没有办法确定: a)如果SDK具有全局configuration(证书)和b)如何加载/configuration这些证书/设置?

如何使用nodejs在亚马逊S3上传图像并将其公开

我正在使用下面的代码上传在亚马逊S3上的图像,但它不公开。 还有什么其他的参数需要传递给公众。 var AWS = require('aws-sdk'); AWS.config.region = 'us-west-2'; var s3bucket = new AWS.S3({params: {Bucket: 'myBucket'}}); s3bucket.createBucket(function() { var params = {Key: 'myKey', Body: 'Hello!'}; s3bucket.upload(params, function(err, data) { if (err) { console.log("Error uploading data: ", err); } else { console.log("Successfully uploaded data to myBucket/myKey"); } }); });

如何查询greates值(sortkey / range)dynamodb?

也许这是一个非常简单的问题,但我没有find一个合适的解决scheme。 我有一个辅助键/范围键/sorting键,什么和它的价值是一个数字。 所以在表中有几个项目与这个关键,我想获得最大的数量/价值的项目。 我发现这在栈溢出,但这看起来不像从aws 文档中的东西。 在这个文档中,你可以findGT或GE,但我不想比较一个数字的价值,我想最伟大的…也许你可以帮助