gpt4 book ai didi

java - 使用 aws-secretsmanager-jdbc 和 Node.js 连接到 RDS?

转载 作者:行者123 更新时间:2023-12-01 17:18:34 24 4
gpt4 key购买 nike

有没有办法使用 aws-secretsmanager-jdbc 和 node.js 连接到 RDS 实例?我需要连接到数据源并运行一个简单的查询,但不幸的是,唯一支持的连接方式是使用 aws-secretsmanager-jdbc。

https://github.com/aws/aws-secretsmanager-jdbc

我想我可以使用这个 Node 模块来连接:https://www.npmjs.com/package/jdbc ,像这样:

var JDBC = require('jdbc');
var jinst = require('jdbc/lib/jinst');

if (!jinst.isJvmCreated()) {
jinst.addOption("-Xrs");
jinst.setupClasspath(['./drivers/hsqldb.jar',
'./drivers/derby.jar',
'./drivers/derbyclient.jar',
'./drivers/derbytools.jar']);
}

var config = {
url: 'jdbc-secretsmanager:postgresql://therdshost:1234/mydbname',

// Not sure what to use for drivername here
drivername: '',
minpoolsize: 10,
maxpoolsize: 100,

user: 'myusername',
password: '',
properties: {}
};


var hsqldb = new JDBC(config);

hsqldb.initialize(function(err) {
if (err) {
console.log(err);
}
});

查看jdbc-secretsmanager,这似乎是一个单独的Java库。是否可以在 Node.js 中执行此操作,或者我必须使用 Java 来执行此操作?

最佳答案

为什么不使用 node.js 包连接到 postgres ?结账https://www.npmjs.com/package/pg下面的示例代码可帮助您开始使用。

您可以将 aws-sdk 用于 Secretsmanager https://www.npmjs.com/package/aws-sdk并使用它来获取密码和其他详细信息以填充下面的数据库常量。这是如何获得它的示例。 https://gist.github.com/rxgx/7e1b24de5936ff1b2b815a3d9cc3897a

const { Pool, Client } = require('pg');

const db = {
user: "postgres-user",
host: "postgres-instance",
database: "postgres-database",
password: "postgres-password",
port: 5432, // default port for RDS postgres
};

console.log('Starting connection...')

const pool = new Pool(db);
pool.query("SELECT NOW()"), (err, res) => {
if (err) {
console.log('pool error', err)
}
console.log('pool => ', p)
pool.end();
}

const client = new Client(db);
client.connect();
client.query("SELECT NOW()"), (err, res) => {
if (err) {
console.log('client error', err)
}
console.log('client => ', res)
client.end();
}

关于java - 使用 aws-secretsmanager-jdbc 和 Node.js 连接到 RDS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61342921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com