Tag: aws sdk

如何删除amazon s3文件w / nodejs /angular

var awsSdk = require('aws-sdk'); awsSdk.config = { "accessKeyId": "key", "secretAccessKey": "secret", "region": "us-east-1" } var s3 = new awsSdk.S3({ accessKeyId: 'key', secretAcessKey: 'secret' }); exports.awsDelete = function(req, res){ s3.deleteObject({ Bucket: 'bucket', Key: req.body.photo }, function(err,data){ if (err) console.log('delete err', err); console.log(data); }); }; 我无法弄清楚如何使这项工作(还)。 最初,我得到了一个“无configuration”的错误,所以我添加了上面的awsSdk.config json。 现在,它只是挂起/暂停没有错误。 我正在req.body.photo中获得预期的关键。 我的直觉是,我在我的configuration丢失的东西.. 我在想什么/搞砸了? 更新我已经添加了下面的代码,但仍然没有运气。 我将显示如何传递我的参数: 从下面的答案更新代码: 'use strict'; […]

以编程方式创buildaws API密钥并将其添加到单一function的使用计划?

我需要: 创buildAPI密钥 将新创build的API密钥添加到使用计划 在文档之后 ,我可以通过调用apigateway.createApiKey()来生成API key ,然后通过调用另一个函数来为该生成的api密钥添加使用计划。 apigateway.createUsagePlanKey()对于以后的情况似乎是最合适的function。 我可以在单个函数中执行这两个function吗,而不是象任何生成一个新的API密钥的函数那样分别调用两个函数并添加一个使用计划?

为什么我不能通过节点上的亚马逊电子邮件发送邮件?

我使用“aws-sdk”:“^ 2.117.0”,我的代码如下所示: var AWS = require('aws-sdk'); exports.sendAWSMail = function(message, destination){ const ses = new AWS.SES(); // http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendEmail-property const sendEmail = ses.sendEmail; var data = { Destination: { ToAddresses: [ "blahblah@gmail.com" ] }, Message: { Body: { Html: { Charset: "UTF-8", Data: "This message body contains HTML formatting. It can, for example, contain links like this […]

如何在使用AWS SDK for Java调用AWS Lambda函数时检索context.done()消息?

我正在使用适用于Java的AWS开发工具包来调用以前上传的一些AWS Lambda函数。 invokeAsync方法返回一个invokeAsyncResult对象,它似乎只包含一组非常有限的属性和方法。 具体而言,对象中包含的唯一相关信息是HTTP状态代码(例如,成功202 )。 似乎没有检索提供给Lambda Node.js context.done()方法的错误代码或消息的方法的任何属性。 因此,无法直接从Lambda函数调用中获取任何“返回值”。 我必须让Lambda处理程序将一个对象放到S3中,以存储返回值的JSON表示,然后使用Java SDK代码获取消费者对象的内容。 有谁知道从Lambda函数中直接获取一些有意义的“返回值”的方法吗?

使用Node.js SDK构buildElastic Beanstalk

有没有人用AWS javascript sdk创build了一个弹性beanstalk应用程序? 我已经能够使用grunt更新现有的应用程序,这工作得很好。 但作为持续集成/持续部署项目的一部分,我们还希望在不存在的情况下创build应用程序。 我发现这些文档是令人困惑的,按照AWS惯常的方式,缺乏任何一种有凝聚力的例子,那就是“做这个,然后做这个”。 如果有人这样做,可以指向正确的方向,这将是一个很大的帮助。 在这个时候,我不确定这是一个单一的步骤还是多步骤的过程。

使用Gulp将资产上传到s3

我目前正尝试使用aws-sdk和gulp将网站的资源上传到amazon s3,但是现在我只是使用以下代码实现了上传单个文件: gulp.task('publish', function() { var AWS = require('aws-sdk'), fs = require('fs'); AWS.config.accessKeyId = 'access_id'; AWS.config.secretAccessKey = 'secret_key'; AWS.config.region = 'eu-central-1'; var fileStream = fs.createReadStream('folder/filename'); fileStream.on('error', function (err) { if (err) { throw err; } }); fileStream.on('open', function () { var s3 = new AWS.S3(); s3.putObject({ Bucket: 'bucket_name', Key: 'assets/filename', Body: fileStream, ACL:'public-read' }, function […]

查找DynamoDB属性未设置*或*大于x的项目

我试图从Lambda(Node.js)扫描一个DynamoDB表来检查一个令牌是否已经过期。 我想筛选数据,以排除设置了expiration_time项目并且小于当前时间。 我目前得到了没有设置expiration_time单位的误报。 我怎样才能检查过期的时间戳或没有expiration_time属性设置? dynamodb.scan({ "TableName": "fm_tokens", "AttributesToGet": ["user_id"], "ScanFilter": { "token": { "AttributeValueList": [{"S": tkn.toString()}], "ComparisonOperator": "EQ" }, "token_time": { "AttributeValueList": [{"N": expiration.toString()}], "ComparisonOperator": "GE" }, "expiration_time": { "AttributeValueList": [{"N": unix_timestamp.toString()}], "ComparisonOperator": "GE", } } }

用dwyl / aws-sdk-mock嘲笑AWS不起作用

首先,我不使用lambda,所以我相信这个线程不是同一个问题。 我before钩子before得到这个错误: TypeError: Attempted to wrap undefined property S3 as function at checkWrappedMethod (node_modules/aws-sdk-mock/node_modules/sinon/lib/sinon/util/core.js:78:29) at Object.wrapMethod (node_modules/aws-sdk-mock/node_modules/sinon/lib/sinon/util/core.js:121:21) at Object.stub (node_modules/aws-sdk-mock/node_modules/sinon/lib/sinon/stub.js:67:26) at mockService (node_modules/aws-sdk-mock/index.js:67:27) at Object.AWS.mock (node_modules/aws-sdk-mock/index.js:43:5) at Context.<anonymous> (myModule.spec.js:14:9) 我从来没有使用过这个模块,我也没有太多的经验与sinon.js。 这是我的模块: var AWS = require('aws-sdk') const https = require('https') module.exports = function () { var s3 = new AWS.S3({ httpOptions: { agent: new https.Agent() }, […]

不能更新Dynamo Db表,得到ValidationException

我需要通过仅使用分区键来更新我的Dynamo数据库表。 但我有validation的exeption。 我创build了一个3字段的表。 id(分区键) 名称(sorting键) 年龄 然后,我已经triyed更新年龄字段使用唯一ID(试图修改年龄30至40)这是我的代码 var AWS = require("aws-sdk"); AWS.config.update({ region: "us-east-1", }); var params = { TableName: 'test', Key: { id: '100' }, UpdateExpression: 'set #age = :age ', ConditionExpression: '#age = :testAge', ExpressionAttributeNames: { '#age': 'age' }, ExpressionAttributeValues: { ':age': '40', ':testAge': '30' } }; var docClient = new AWS.DynamoDB.DocumentClient(); docClient.update(params, […]

如何启用对AWS STS AssumeRole的访问

在调用STS的assume role方法时出现错误。 它表示用户没有被授权在资源xxx上执行sts:AsumeRole 。 我做了以下几点: 我创build了一个angular色来访问S3存储桶。 我在策略模拟器上运行testing,工作正常 我创build了一个新组,并在其中创build了一个新策略,使所有资源上的所有sts操作成为可能。 我使用策略模拟器运行了一个testing,以扮演angular色,指向在第一步创build的angular色的ARN; 它工作正常 我创build了一个新用户,并将其放在第3步创build的组中 随着新用户的凭据,我尝试使用sts asumeangular色获得新的凭据,但抛出一个错误,说我的用户没有被授权执行sts:AssumeRole 我究竟做错了什么? 政策在集团 { "Version": "2012-10-17", "Statement": [ { "Sid": "some-large-id", "Effect": "Allow", "Action": [ "sts:*" ], "Resource": [ "*" ] } ] } 政策的angular色 { "Version": "2012-10-17", "Statement": [ { "Sid": "another-large-id", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my-bucket-name/*" ] […]