使用带有主键和排序键的 getItem

Mes*_*sak 3 javascript amazon-web-services node.js amazon-dynamodb aws-lambda

所以我有一个名为 tableX 的 dynamodb 表,其中包含以下字段:

random_fld1, random_fld2, primary_key1, and sort_key1
all fields are Strings. 
Run Code Online (Sandbox Code Playgroud)

带有这些键和字段的 getItem 示例是什么。我无法获得使用 getItem 的 Keys: 部分。

Kha*_* T. 5

您可以将 DynamoDB 的 DocumentClient get()用作:

'use strict';

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: '2012-08-10' });

var params = {
  TableName: 'tableX',
  Key: {
    'primary_key1': 'PARTITION_KEY_VALUE',
    'sort_key1': 'SORT_KEY_VALUE'
  }
};

docClient.get(params, function(err, data) {
  if (err) console.log(err);
  else     console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

请参阅文档


not*_*est 2

这是上面表结构的获取项目代码。

以下代码使用本地 Dynamodb 表。

var AWS = require("aws-sdk");

var creds = new AWS.Credentials('akid', 'secret', 'session');

AWS.config.update({
  region: "us-west-2",
  endpoint: "http://localhost:8000",
  credentials: creds
});

var docClient = new AWS.DynamoDB.DocumentClient();

var table = "tablex";

var params = {
    TableName: table,
    Key:{
        "primary_key1": "p1",
        "sort_key1": "s1"
    },

};

docClient.get(params, function(err, data) {
    if (err) {
        console.error("Unable to read item. Error JSON:", JSON.stringify(err, null, 2));
    } else {
        console.log("GetItem succeeded:", JSON.stringify(data, null, 2));        
    }
});
Run Code Online (Sandbox Code Playgroud)