2

AWS API を見ていますが、既存の RDS データベースに関する情報を取得するのに役立つ方法が見つからないようです。また、すべての RDS データベースのリストを取得する方法を使用しようとしましたが、それも失敗しました。

私は2つの方法を見ましたが、どうやらそれらは私が探しているものではないか、間違って使用しています.

方法 1: 既存のデータベースの名前を指定できるかどうか、およびそのプロパティ (mysql バージョン、ストレージ サイズなど) を照会できるかどうかを確認するために、ModifyDBInstanceRequest を調べました。期待される。ad-dash-test は RDS の既存のデータベースです。コードを実行すると、これが既存のデータベースであり、DB インスタンス名で指定したにもかかわらず、エンジンのバージョンが null であると表示されました。

  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());

返されるリストの長さは 0 で、8 つの RDS インスタンスがあります。

Amazon の SDK for RDS には例が見つかりませんでした。また、私のロジックと API ドキュメントを使用しても役に立たなかったようです。うまくいけば、誰かが私を正しい方向に向けることができます。よろしくお願いします。

4

1 に答える 1

8

どちらの方法でも、Request オブジェクトを作成するだけで、AWS にリクエストを送信することはありません。2 番目の例で次のことを試してください。

// 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());

方法 1 (インスタンスを変更する場合) の例も同様です。

于 2013-06-21T16:17:44.867 に答える