Tag: aws sdk

用AWS XRAY航行

应该如何在Sails上安装AWS XRAY? 我正试图将安装说明翻译成Sails使用Express中间件的首选方式,但是我正在平躺在我的脸上。 大多数人会立即开始使用“使用config / http.js”来configuration中间件。 那么,在我的情况下,这是行不通的,因为我的API是专门用于Sails.io(套接字),所以http中间件configuration从不使用。 所以现在,合乎逻辑的一步是使用策略。 那么,如果你已经阅读了XRAY指令,你就知道他们正试图捕获所有的请求到应用程序,这需要在启动和停止函数调用之前和之后configuration路由。 所以,政策不起作用。 所以,我的下一步是尝试在app.js和config / bootstrap.js文件中无效,可能是因为我无法轻易获取Sails正在使用的Express实例。 那么,Sails目前的configuration选项有可能吗? 任何人有任何线索如何做到这一点?

错误:configuration文件丢失 – /nodeapp/node_modules/aws-sdk/lib/request.js:31

我从AWS-SDK中使用s3.listObjects()函数拉对象,并且不断收到以下错误: /nodeapp/node_modules/aws-sdk/lib/request.js:31 其次是 Error: Missing credentials in config at IncomingMessage.<anonymous> (/nodeapp/node_modules/aws-sdk/lib/util.js:863:34) at emitNone (events.js:91:20) at IncomingMessage.emit (events.js:186:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickDomainCallback (internal/process/next_tick.js:122:9) 这不加起来,因为我有一个不同的路线(downloadParam),从S3中检索一个对象,而不会给我这个错误。 此外,当我注销从downloadResults路由检索到的对象,似乎检索对象没有问题,但我仍然会得到这个错误。 我花了几个小时在这个问题上,我似乎无法弄清楚为什么会发生这种情况。 我已经粘贴了两条路线的代码,一个是有效的,另一个是没有的。 从我在线收集的信息来看,这看起来更像是一个代码问题,而不是AWS-SDK的凭证问题。 downloadParam: function(app, s3){ app.use('/api', apiRoutes) apiRoutes.get('/download-param-file', function(req, res, next){ res.set({'Content-Type':'text/csv'}) s3.getObject({Bucket: 'some-bucket', Key: 'some-key' + req.query.fileName}, function(err, file){ if (err) { console.log(err); return next(err); […]

如何在我的情况下连接到elasticache?

我试图从我的应用程序连接到aws elasticache。 我知道端点和端口,但由于某种原因,我无法连接到它。 我使用了这个npm包: https ://www.npmjs.com/package/node-memcached-client 码: const Memcached = require('node-memcached-client'); const client = new Memcached({ host: 'mycache.aa11c.0001.use2.cache.amazonaws.com', //fake aws cache endpoint port: 11211 }); console.log(client); // I can see it outputs stuff client.connect() .then(c => { console.log('connected'); console.log(c); }).catch(function(err){ console.log('error connecting'); console.log(err); }); 出于某种原因,当我运行代码时,我所看到的就是 [Memcached] INFO: Nothing any connection to mycache.aa11c.0001.use2.cache.amazonaws.com:11211, created sid:1 console.log没有错误或connected消息。 […]

在AWS Lambda中实例化AWS Helper类时是否需要指定区域?

如果我想从AWS Lambda调用AWS SES,那么在实例化AWS Helper类时通常会写下列内容: var ses = new aws.SES({apiVersion: '2010-12-01', region: 'eu-west-1'}); 我想知道,我是否真的需要指定AWS区域? 或者AWS SES帮助程序类将在运行AWS Lambda函数的区域中运行。 这里最好的做法是什么? 如果我忽略这个,可能会遇到问题吗?

节点JS + AWS承诺两次触发

AWS = require('aws-sdk'); AWS.config.region = 'eu-west-1'; ses = new AWS.SES(); var params = {}; return ses.sendEmail(params, function (err, data) { console.log('—–>sending email') }).promise().then((data) => { console.log('—->sending promise') }).catch((err) => { console.log('—–>am in error') console.log(err) }) 有人可以帮我上面的代码承诺触发两次。 我应该得到下面 —–>发送电子邮件 —->发送诺言 但是我得到了 —–>发送电子邮件 —->发送诺言 —–>发送电子邮件

使用javascript SDK在lambda上启用SNS事件源

我正在尝试使用JavaScript AWS SDK在lambda上创buildSNS事件源。 我有以下代码片段: var permissionParams = { FunctionName: "MyFunction", Action: "lambda:Invoke", Principal: "sns.amazonaws.com", StatementId: "snsinvoke", SourceArn: "MyArn" }; lambda.addPermission(permissionParams, function (err, data) { if (err) { console.log(err); } else { console.log(data); } }); 这与订阅该主题的另一个调用相结合在lambda中创build事件源,但是它被禁用。 是否有另一个电话,我可以使它启用或有一种方法来启用它,当我添加它?

如何从AWS Api网关获取根path“/”资源?

我一直在尝试使用NodeJs AWS SDK从AWS Api Gateway的path“/”(root)检索资源。 我知道天真的解决办法就是这样做: var AWS = require('aws-sdk'); var __ = require('lodash'); var Promise = require('bluebird'); var resources = []; var apiGateway = Promise.promisifyAll(new AWS.APIGateway({apiVersion: '2015-07-09', region: 'us-west-2'})); var _finishRetrievingResources = function (resources) { var orderedResources = __.sortBy(resources, function (res) { return res.path.split('/').length; }); var firstResource = orderedResources[0]; }; var _retrieveNextPage = function […]

aws-sdk s3上传不工作从摩卡testing

尝试从摩卡testing运行s3上传: 'use strict'; describe('S3 test', function() { it.only('S3 test 1', function*() { var AWS = require('aws-sdk'); //AWS.config.region = 'us-west-2'; var s3 = new AWS.S3({ params: { Bucket: 'test-1-myBucket', Key: 'myKey' } }); s3.createBucket(function(err) { if (err) { console.log("Error:", err); } else { s3.upload({ Body: 'Hello!' }, function() { console.log("Successfully uploaded data to myBucket/myKey"); }); } […]

如何用node.js保存S3文件中的表情符号

我从我的nodejs服务器上传一个JSONstring到S3,通过s3.upload方法。 var s3 = new AWS.S3(); s3.upload({ Bucket: myBucket, Key: 'myPath/' + thing.id + '.json', Body: JSON.stringify(thing), ContentType: 'application/json' }) 如果在上面的代码片段中, thing对象有一个包含emojis的String属性,我将如何修改这个操作来保存emoji字符。 在我的节点服务器上,我可以看到表情符号被存储在数据库中并正确地服务。 只有在上传之后,angular色才会失去完整性。 我认为有一些字符编码技巧可以应用于JSON.stringify结果,但我还不知道细节。 在这里寻求帮助。 JSON我得到节点服务器: JSON我在S3看到:

aws sdk ec2.describeInstances未列出所有EC2实例

我正在使用aws-sdk列出其IAMangular色为The_Name_of_My_IAM_Role所有正在运行的EC2实例。 const AWS = require('aws-sdk') let credentials = new AWS.SharedIniFileCredentials({ profile: 'my_profile' }) AWS.config.credentials = credentials AWS.config.update({ region: 'ap-northeast-1' }) const ec2 = new AWS.EC2() let params = { Filters: [ { Name: 'iam-instance-profile.arn', Values: [`arn:aws:iam::123456789123:instance-profile/The_Name_of_My_IAM_Role`] }, { Name: 'instance-state-name', Values: ['running'] } ] } ec2.describeInstances(params, (err, data) => { if (err) { console.log(`describeInstances error: […]