我正在尝试模拟从 Azure IoT 中心写入 PostgreSQL 的示例,如本示例中所述。
我已成功将所有内容正确设置到触发功能的位置。但是,文章中提供的代码:
module.exports = async function (context, IoTHubMessages) {
var pg = require('pg');
//const config = "postgres://<username>:<password>@<postgres servername>:5432/<database>";
const config = {
host: 'myserver.postgres.database.azure.com',
user: 'granted@myserver',
password: 'password',
database: 'telemetry',
port: 5432,
ssl: true
};
var client = new pg.Client(config);
const query = 'insert into tempdata(deviceid, data) values(' + eventHubMessages.deviceId + ',\'' + JSON.stringify(eventHubMessages) + '\');';
context.log(query);
client.connect();
client.query(query);
await client.end();
context.log('insert completed successfully!');
/*
client.connect(err => {
if (err) throw err;
else {
client
.query(query)
.then(() => {
context.log('insert completed successfully!');
client.end(console.log('Closed client connection'));
})
.catch(err => console.log(err))
.then(() => {
context.log('Finished execution, exiting now');
});
}
});
*/
};
产生此错误:
结果:失败异常:找不到模块“pg”需要堆栈:- /home/site/wwwroot/IoTHub_EventHub2/index.js我想我必须在函数中安装 PostgreSQL 或者其他东西?任何帮助将不胜感激。