Java 如何从AWS访问RDS数据库

Java 如何从AWS访问RDS数据库,java,amazon-web-services,amazon-rds,Java,Amazon Web Services,Amazon Rds,我正在查看AWS API,但似乎找不到一种方法来帮助我获取现有RDS数据库的信息。我还尝试使用一种方法获取所有RDS数据库的列表,但也失败了 我看了两种方法,显然它们不是我想要的,或者我用错了 方法1: 我查看了ModifyDBInstanceRequest,看看是否可以指定现有数据库的名称,以及是否可以查询其属性(mysql版本、存储大小等) 下面的代码没有按我预期的那样执行。ad dash测试是RDS中现有的db。当我运行代码时,它说引擎版本为空,尽管这是一个现有的db,并且我通过它的db实

我正在查看AWS API,但似乎找不到一种方法来帮助我获取现有RDS数据库的信息。我还尝试使用一种方法获取所有RDS数据库的列表,但也失败了

我看了两种方法,显然它们不是我想要的,或者我用错了

方法1: 我查看了ModifyDBInstanceRequest,看看是否可以指定现有数据库的名称,以及是否可以查询其属性(mysql版本、存储大小等) 下面的代码没有按我预期的那样执行。ad dash测试是RDS中现有的db。当我运行代码时,它说引擎版本为空,尽管这是一个现有的db,并且我通过它的db实例名指定了它

  ModifyDBInstanceRequest blah = new ModifyDBInstanceRequest("ad-dash-test");

  System.out.println("the engine ver is " + blah.getEngineVersion());
方法2: 我尝试使用DescribeDBInstancesResult方法,但它似乎用于新创建的RDS数据库,而不是现有数据库

  DescribeDBInstancesResult db = new DescribeDBInstancesResult();
  List<DBInstance> list = db.getDBInstances();
  System.out.println("list length = " + list.size());
DescribeDBInstancesResult db=new DescribeDBInstancesResult();
List List=db.getDBInstances();
System.out.println(“list length=“+list.size());
返回的列表长度为0,我有8个RDS实例


我在Amazon的RDS SDK中没有找到任何示例,使用我的逻辑和API文档似乎没有任何帮助。希望有人能给我指出正确的方向。提前感谢您的帮助。

在这两种方法中,您只是构建了一个请求对象,而从未向AWS发送请求。 在第二个示例中尝试以下操作:

// Instantiating rdsClient directly is deprecated, use AmazonRDSClientBuilder.
// AmazonRDSClient rdsClient = new AmazonRDSClient(/*add your credentials and the proper constructor overload*/);

AmazonRDS rdsClient = AmazonRDSClientBuilder.defaultClient();

DescribeDBInstancesRequest request = new DescribeDBInstancesRequest();
DescribeDBInstancesResult result = rdsClient.describeDBInstances(request);
List<DBInstance> list = result.getDBInstances();
System.out.println("list length = " + list.size());
//不推荐直接实例化rdsClient,请使用AmazonRDSClientBuilder。
//AmazonRDSClient rdsClient=新的AmazonRDSClient(/*添加您的凭据和正确的构造函数重载*/);
AmazonRDS rdsClient=AmazonRDSClientBuilder.defaultClient();
DescribeDBInstancesRequest=新的DescribeDBInstancesRequest();
DescribeDBInstancesResult=rdsClient.describeDBInstances(请求);
List=result.getDBInstances();
System.out.println(“list length=“+list.size());

方法1(用于修改实例)的示例应该类似。

AmazonRDSClient已被弃用,您现在应该使用AmazonRDSClientBuilder。