Tag: amazon dynamodb

在DynamoDB中使用params“sorting”

如果在查询/扫描之后有订购商品的方法,我不能理解Amazon DynamoDB指南。 例如: – 我的数据库表 – TableName:"Projects", Item:{ "projectOwner": "User1", "projectName": "Project1", "creationDate": "Wed Nov 20 2016", "updateDate": "Wed Nov 29 2016", }Item:{ "projectOwner": "User1", "projectName": "Project2", "creationDate": "Wed Nov 20 2016", "updateDate": "Wed Nov 28 2016", }Item:{ "projectOwner": "User1", "projectName": "Project3", "creationDate": "Wed Nov 20 2016", "updateDate": "Wed Nov 30 2016", } 所以我想扫描我的数据库,并返回所有由“updateDate”sorting的项目。 有没有办法实现这个使用dynamoDB […]

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

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

当列表可能不存在时,DynamoDB ConditionExpression检查列表

我试图把条件放在列表中的第一个项目上,当列表可能存在也可能不存在。 我正在尝试检查列表是否首先存在,但是DynamoDB似乎没有将expression式短路。 不pipe:ValidationException:提供的expression式指的是一个在项目中不存在的属性。 params.ExpressionAttributeNames = { '#checkIns': 'checkIns' }; params.ExpressionAttributeValues = { ':newCheckIn': [newDateString], ':justDatePart': justDatePart }; params.UpdateExpression = 'SET #checkIns = list_append(:newCheckIn, #checkIns)'; // make sure task is not already checked in today params.ConditionExpression = 'attribute_not_exists(#checkIns) OR (NOT begins_with(#checkIns[0], :justDatePart))'; return Table.updateAsync({ID}, params); // using dynogels-promisified 我似乎无法通过检查该属性是否先存在而使其短路。 此外,我试图用if_not_exists()用一个无意义的stringreplacecheckIns [0],但我得到这个错误: ValidationException:无效ConditionExpression:条件expression式中不允许使用该函数; 函数:if_not_exists 有人有主意吗?

在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: [ { […]

任何人都可以提供一个dynamodb文件客户端upsert的例子吗?

我在AWS dynamodb的DocumentClient节点中寻找一个不重要的upsert示例。 有人可以分享一个已经为他们工作的样本吗? 我想看到一个例子,在创buildlogging时设置created_at,updated_at和id字段,但只有在find并更新logging时才设置updated_at。

从S3文件读取JSON并使用带有NodeJS运行时的Lambda将logging插入到dynamoDB中

我的DynamoDB表具有以下分区键: UserId String 这是我的Lambda函数: 'use strict'; console.log('Loading function'); const doc = require('dynamodb-doc'); const dynamo = new doc.DynamoDB(); var AWS = require('aws-sdk'); var S3 = new AWS.S3({ maxRetries: 0, region: 'us-east-1', }); var insertSuccess = 0; var insertErrors = 0; function dynamoResultCallback(err, data) { if (err) { insertErrors++; console.log("Insert Error: \n"); console.log(err, err.stack); // an error […]

如何获取aws-dynamoDB中的所有字段?

我正在使用Node.js var AWS = require('aws-sdk'); AWS.config.update({ region: "region", endpoint: "https://dynamodb.region.amazonaws.com" }); var dynamodb = new AWS.DynamoDB(); var params = { TableName: "acc_new" }; dynamodb.describeTable(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(JSON.stringify(data)); }); 输出: { AttributeDefinitions: [ { AttributeName: 'Id', AttributeType: 'S' } ], TableName: 'acc_new', KeySchema: [ { AttributeName: […]

node.js:如何在创build表时在DynamoDB中添加非键属性?

我正在使用dynamoDB本地。 我想创build一个具有6个属性的表,其中只有一个是key 。 我怎么做? 在keySchema指定key属性,并在AttributeDefinitions指定所有AttributeDefinitions ? var params = { TableName : "Movies", KeySchema: [ { AttributeName: "year", KeyType: "HASH"}, //Partition key ], AttributeDefinitions: [ { AttributeName: "year", AttributeType: "N" }, { AttributeName: "title", AttributeType: "S" } ], ProvisionedThroughput: { ReadCapacityUnits: 10, WriteCapacityUnits: 10 } }; dynamodb.createTable(params, function(err, data) { if (err) { console.error("Unable to […]

使用filter进行DynamoDB扫描

Im是DynamoDB的新成员,有一个表是“ feeds ”,分区键是“ id ”,我有3个其他属性,分别是“ category ”,“ description ”,“ pubDate ”。 我想查询“类别”属性。 但它不工作,因为我只能查询分区键(hashkey),如果我正确的。 现在我的查询是不起作用的; let category = event.category; const params = { Key: { "category": { S: category } }, TableName: "feeds" }; dynamodb.getItem(params, function (err, data) { if (err) { console.log(err); callback(err); } else { console.log(data); callback(null, data); } }); 我怎样才能使它工作? 我试图写一个扫描查询,但我不明白AWS的文档很好。 编辑:我确实使它在Dunedan的帮助下工作。 这是工作代码, […]

带有和/或不带types的AWS DynamoDB数据?

我正在使用NodeJS的aws-sdk与DynamoDB表进行交互。 这是我第一次看DynamoDB。 当使用像getItem()或updateItem()这样的调用时,数据结构包含types,如下所示: { 'a': { S: 'My string' } } 有没有办法传递和接收这些对象没有types..? 所以… { 'a': 'My string' } 或者,已经编写的任何帮助函数都会将对象转换为这种格式。 const data = dbToObj({ 'a': { S: 'My string' } }) // { 'a': 'My string' } 所以我可以转换到它填充调用参数,并在接收数据时从它转换。 试图避免访问我的数据,如: const myData = data.Item.something.M.somethinElse.M.qwerty.S 我知道我可以自己写一些东西,只是想知道是否有人知道已经可用的函数/选项。 我找不到任何东西。