Azure函数应用程序在PostgreSQL pg调用时失败

zi8p0yeb  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(125)

我试图模拟从Azure IoT Hub写入PostgreSQL的示例,如in this example.所示
我已经成功地将所有内容设置为函数被触发的位置。但是,本文中提供的代码:

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');
                        });
            }
        });
        */
};

字符串
生成此错误:
结果:失败异常:无法找到模块'base'-/home/site/wwwroot/IoTHub_EventHub2/index.js
我假设我必须在函数中安装PostgreSQL之类的东西?任何帮助都将不胜感激。

jgovgodb

jgovgodb1#

试图从门户安装和运行函数时出现问题。没有办法通过该机制添加依赖项,例如PostgreSQL。在Visual Studio Code中设置一个项目,我能够在本地运行npm,然后在安装函数时将依赖项添加到项目中。这解决了这个问题。

相关问题