0
私は以下のコードを使用してdynamodbにjsonオブジェクトを格納しようとしています。Lambda + Nodejs + dynamodb:jsonを格納する理由:データ型を格納するアイテムを置くのはなぜですか?
exports.handler = function (event, context, callback) {
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "Logs";
id_val = 1
var params = {
TableName: table,
Item: {
"id": id_val,
"message": event
}
};
docClient.put(params, function(err, data) {
if (err) {
callback(null, JSON.stringify(err, null, 2));
context.fail("Unable to add item. Error JSON:", JSON.stringify(err, null, 2));
}
});
}
イベントへの入力
[
{
"id": 1,
"demographic": {
"firstName": "John",
"middleName": "w",
"lastName": "Doe",
"suffix": "jr",
"birthDate": "1990-02-02",
"gender": "M",
"ssn": 123
}
}
]
テーブルに保存されている何
{
"id": {
"N": "84.20420287568176"
},
"message": {
"L": [
{
"M": {
"demographic": {
"M": {
"birthDate": {
"S": "1990-02-02"
...
...
...
なぜデータ型がテーブルに格納されていますか?属性を別々に保存するには、どうすればこの問題を解決できますか?
ありがとうございます。しかし、ダイナモdbコンソールのレコードを作成したり、入力パラメータの一部としてfirstName:Johnなどの属性を使用してレコードを作成すると、データ型がコンソールに表示されず、putコマンドでデータ型が認識されるようになります手前に。質問は、定義されたスキーマを持たない入力オブジェクトに対して、各項目がdb内の別の属性であるようにputコマンドを書く方法は? – user9445
申し訳ありませんが、遅い応答のために、本当に忙しかった:)。 RESTの世界では、クライアントとサービスの間に、データの見た目には常に合意があります。あなたがあなたのサービスを公開することを計画しているなら、理想的にはあなたのクライアントに送るべきデータを提供するべきです。サンプルAPIドキュメントについては、下のリンクをご確認ください https://bocoup.com/blog/documenting-your-api –
リンクをありがとうございます。私は決してあなたに感謝したことを知らなかった。私が推測するよりもずっと遅くなりました! – user9445