Fed*_*ico 3 amazon-web-services amazon-dynamodb aws-lambda aws-sdk-nodejs
我是Amazon Web Services和NodeJS的初学者.
我写了一个由AWS IoT触发的Lambda函数,它解析了一个JSON.
enter code here
use strict';
console.log('Loading function');
exports.handler = (event, context, callback) => {
console.log('Received event:', JSON.stringify(event, null, 2));
console.log('Id =', event.Id);
console.log('Ut =', event.Ut);
console.log('Temp =', event.Temp);
console.log('Rh =', event.Rh);
//callback(null, event.key1); // Echo back the first key value
//callback('Something went wrong');
};
Run Code Online (Sandbox Code Playgroud)
现在我想将json字段存储到DynamoDB表中.
有什么建议吗?
非常感谢!
预备步骤: -
示例代码: -
下面的代码片段是一个示例代码,可以让您了解如何放置项目.请注意,必须根据您的要求略微更改(使用表名和键属性).它没有经过完全测试的代码.
use strict';
console.log('Loading function');
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = (event, context, callback) => {
console.log(JSON.stringify(event, null, ' '));
var tableName = "yourtablename";
dynamodb.putItem({
"TableName": tableName,
"Item" : {
"Id": event.Id,
"Ut": event.Ut,
"Temp": event.Temp,
"Rh":event.Rh
}
}, function(err, data) {
if (err) {
console.log('Error putting item into dynamodb failed: '+err);
context.done('error');
}
else {
console.log('great success: '+JSON.stringify(data, null, ' '));
context.done('Done');
}
});
};
Run Code Online (Sandbox Code Playgroud)
注意:-
只要数据类型符合JavaScript String和Number,就不需要为String和Number显式提及数据类型.DynamoDB将自动解释String和Number的数据类型.
小智 7
对于 async/await 还有一个较短的版本:
'use strict';
const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = async (event) => {
const tableName = "yourtablename";
try {
await dynamodb.putItem({
"TableName": tableName,
"Item" : {
"Id": event.Id,
"Ut": event.Ut,
"Temp": event.Temp,
"Rh":event.Rh
}
}).promise();
} catch (error) {
throw new Error(`Error in dynamoDB: ${JSON.stringify(error)}`);
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7739 次 |
| 最近记录: |