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

标签 java node.js postgresql aws-secrets-manager

有没有办法使用 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/

相关文章:

java - 锁定性能 : Lock Longer vs. 更频繁地锁定

node.js - 如何在快速 Handlebars 上实现条件?

javascript - Async.waterfall 的 native 回调函数

javascript - 如何在客户端断开连接时向房间客户端发送消息

database - 使用 REPEATABLE READ 保证特定值的唯一性

c# - Npgsql C# 多行/值插入

java - Redis数据结构: key -> field -> list of values Is this possible?

java - 用Java获取MSG Outlook文件的原始内容(字符串格式)

java - 当元素中仅包含部分字符串时,如何从列表中获取索引?

json - logstash:使用一个logstash conf文件创建多个索引