如何使用NodeJS连接AWS Aurora Serverless V2?
如何用Node.js连接Amazon Aurora Serverless v2
当然可以用Node.js连接Aurora Serverless v2,@aws-sdk/client-rds-data(RDS Data API)确实只支持v1,但v2本身提供了和常规Aurora集群一致的数据库端点,你可以用标准的数据库驱动来连接,和连接普通的PostgreSQL/MySQL数据库完全一样。
具体实现方案
根据你的Aurora Serverless v2兼容的数据库引擎,选择对应的Node.js驱动:
- 兼容PostgreSQL:使用
pg包(官方推荐的PostgreSQL Node.js驱动) - 兼容MySQL:使用
mysql2包(性能更优的MySQL驱动,支持Promise)
代码示例
PostgreSQL 示例
const { Client } = require('pg'); // 配置数据库连接参数 const client = new Client({ host: 'your-aurora-serverless-v2-endpoint.rds.amazonaws.com', port: 5432, user: 'your-db-username', password: 'your-db-password', database: 'your-db-name' }); // 连接并执行查询 async function runQuery() { try { await client.connect(); const res = await client.query('SELECT * FROM your_table LIMIT 1'); console.log(res.rows[0]); } catch (err) { console.error('查询出错:', err); } finally { await client.end(); } } runQuery();
MySQL 示例
const mysql = require('mysql2/promise'); // 配置数据库连接参数 async function runQuery() { const connection = await mysql.createConnection({ host: 'your-aurora-serverless-v2-endpoint.rds.amazonaws.com', port: 3306, user: 'your-db-username', password: 'your-db-password', database: 'your-db-name' }); try { const [rows] = await connection.execute('SELECT * FROM your_table LIMIT 1'); console.log(rows[0]); } catch (err) { console.error('查询出错:', err); } finally { await connection.end(); } } runQuery();
注意事项
- 确保你的Node.js运行环境(比如Lambda、EC2、本地开发环境)所在的VPC可以访问Aurora Serverless v2的数据库端点,安全组需开放对应端口(PostgreSQL默认5432,MySQL默认3306)。
- 如果使用IAM数据库认证,可以通过生成临时密码的方式连接,无需硬编码密码。
内容的提问来源于stack exchange,提问作者Ranieri Mazili
相关产品推荐
相关产品推荐

