要将AWS Lambda连接到本地Docker中的Postgres,您可以遵循以下步骤:
docker run -p 5432:5432 --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -d postgres
pg
模块,它是一个用于连接Postgres数据库的Node.js库。在您的Lambda函数目录中运行以下命令:npm init -y
npm install pg
const { Client } = require('pg');
exports.handler = async (event) => {
const client = new Client({
user: 'postgres',
host: 'localhost',
database: 'postgres',
password: 'mysecretpassword',
port: 5432,
});
try {
await client.connect();
console.log('Connected to Postgres');
// 在这里执行您的Postgres查询或操作
return {
statusCode: 200,
body: 'Connected to Postgres',
};
} catch (error) {
console.error('Error connecting to Postgres', error);
return {
statusCode: 500,
body: 'Error connecting to Postgres',
};
} finally {
await client.end();
}
};
请注意,上述示例假设您在本地运行Postgres容器,并且使用默认的数据库名称(postgres)和密码(mysecretpassword)。根据您的实际设置进行相应的更改。
部署Lambda函数。您可以使用AWS CLI或AWS管理控制台将Lambda函数部署到AWS中。
测试Lambda函数。一旦Lambda函数部署成功,您可以通过调用该函数来测试它。您可以使用AWS CLI或AWS管理控制台来调用Lambda函数。
请注意,在此示例中,Lambda函数将直接连接到本地Docker中的Postgres,这意味着您需要确保Lambda函数和Postgres容器在同一网络中,以便它们可以相互访问。