Tag: amazon dynamodb

DynamoDB在过去24小时内的下滑?

无论如何计算DynamoDB的吞吐量(写单位/读单位)在过去24小时内是如何缩减的? 我的想法是一旦人为下降,例如在需要的configuration写入单元中发生50%的下降。 我真的是高峰stream量。 因此,在每个高峰之后,我认为要缩小比例。 然而,我有一个晚上运行的分析工作,它提供了大量的读取单元,使得在它之后能够降级。 因此,我需要在24小时内将缩减比例限制为3倍。

AWS Lambda:我是否可以返回上下文并让任务仍在运行?

现在我在生产中有一个lambda函数来处理日志string,然后将它们返回给客户端,所以: 1) string received by lambda 2) lambda transforms string 3) lambda returns via context.succeed the transformed string 现在我添加一个额外的步骤,将string保存在dynamodb表中,所以工作stream将是: 1) string received by lambda 2) lambda transforms string 3) lambda saves string to dynamo 4) lambda returns via context.succeed the transformed string 现在的位保存function是这样的: function _saveItem (item) { dynamo.putItem(item, function (err, data) { //error handling here […]

使用哈希和范围主键的性能:Dynamodb

我正在使用Node.js和环回来构build一个应用程序。 应用程序的一个组件是将login尝试存储到DynamoDB中。 我对这个数据库很新,而且遇到了问题。 目前,我的散列键是一个电子邮件,我的范围键是login尝试发生时刻的unix时间戳。 基本上,我需要从数据库中获取所有数据,以生成最后一次login尝试的列表。 首先想到的是使用扫描 ,但是它不允许根据持续的login尝试sorting列表。 使用查询的问题是,我必须访问所有的电子邮件,而不仅仅是特定于一个特定电子邮件的项目。 我认为我可以使所有的哈希值相同,但是这样会根据dynamoDB存储它的数据的方式来创build性能问题。 有没有其他人遇到这种types的问题,并有一个解决scheme?

我们如何根据索引更新dynamodb表(不是基于主键和范围键)

如何根据索引更新dynamodb表(不是基于主键和范围键)。 我有一个由名称key_id-index index创buildkey_id-index ,hash是asset_id ,范围是hit_id 。 我想更新基于key_id-index的表,因为我不知道这些更新。 var paramsu = { TableName: 'asset', //IndexName: 'key_id-index', Key: { // The primary key of the item (a map of attribute name to AttributeValue) asset_id: { S: 'a' }, hit_id: { S: 'h' } // more attributes… }, AttributeUpdates: { // The attributes to update (map of attribute […]

使用lambda函数将数据库抓取为JSON

我正在使用dynamo-db扫描来获取这个JSON格式的数据库表,但它似乎不工作 var doc = require('dynamodb-doc'); var dynamo = new doc.DynamoDB(); exports.handler = function(event, context) { dynamo.scan({ 'TableName' : 'DATABASE_NAME' }, function(err, data) { console.log('this doesnt print'); if (err) console.log(err, err.stack) else console.log(data); }); context.succeed('ding'); 我不相信它正在进入callback函数,因为“这不打印”不打印。 有任何想法吗? 谢谢 :)

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

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

Vogels是Amazon的dynamoodb mapper和nodejs的不错select吗?

我看到从长时间vogels页面没有积极的发展,即约5个月https://github.com/ryanfitz/vogels 有没有更好的select? 有没有人面临与可打印性或I / O时间的问题?

AWS DynamoDb查询表

我想在一个新的项目上使用Dynamodb,我不得不说我非常困惑。 所以我已经设置了一个叫做ID的散列键的新表,我将它设置为一个时间戳,因为它需要是唯一的。 然后,我使用Lambda插入我的数据 var tableName = "TrackerTable"; var datetime = new Date().getTime().toString(); var putData = { "TableName": tableName, "Item": { "ID" : { "N": datetime }, "TrackIt": { "S": event.trackit }, "Latitude": { "N": event.lat }, "Longitude": { "N": event.lon }, "Time": { "N": datetime } } } dynamoDB.putItem(putData, function(err, data) { if (err) { […]

AWS.DynamoDB.DocumentClient不提供put的数据

我正在使用AWS.DynamoDB.DocumentClient和Dynamodb local(端口8080)。 当我执行put时,callback中的datavariables是一个空对象。 我错过了什么吗? import * as AWS from "aws-sdk"; AWS.config.update({ region: "us-west-2", endpoint: "http://localhost:8080" }); const docClient: any = new AWS.DynamoDB.DocumentClient(); const item = { someField: "456", other: "123" }; const params = { TableName: "TableName", Item: item }; docClient.put(params, function(err, data) { if (err) console.log(err); else console.log(data); // this produces: {} }); 没有错误,并且正在插入项目\更新 […]

如何解决DynamoDB上的Joi错误TypeError:child.schema._getLabel不是函数

我在dynamodb中有一个架构,如下所示,我使用Joi,Vogels和NodeJS schema: { email: Joi.string().email(), item: Joi.array().items(Joi.object().keys({ a: Vogels.types.uuid(), b: Joi.string(), c: Joi.string(), d: Joi.string().email() })) 我正试图在表格中插入以下数据 var Obj = { email: 'a@b.com', item: [{ b: 'data', c: 'some-data', d: 'b@c.com' }] }; 我正在使用下面的nodejs代码插入数据到表 Model.create(Obj, function(err, data) { if (err){ console.log(err); return cb(err); } else { console.log(data); return cb(null,data); } }); 我收到以下错误 errors.push(this.createError('object.child', { key, […]