2013-06-21 7 views
2

Я смотрю API AWS, и я не могу найти способ помочь мне получить информацию о существующей базе данных RDS. Я также попытался использовать метод, который получает список всех баз данных RDS, но также не смог.Как получить доступ к базам данных RDS из AWS

Я посмотрел на 2 метода и, по-видимому, они не то, что я ищу, или я использую их неправильно.

Метод 1: Я смотрел на ModifyDBInstanceRequest, чтобы увидеть, если я мог бы указать имя существующей базы данных и, если я мог бы запросить его для его свойств (версия MySQL, размер хранения и т.д.) Следующий фрагмент кода не сделал так, как я ожидал. ad-dash-test - это существующий db в RDS. Когда я запустил свой код, он сказал, что версия ядра равна нулю, хотя это уже существующий 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()); 

Длина списка, которая возвращает 0, и у меня есть 8 экземпляров RDS.

Я не нашел примеров в SDK Amazon для RDS и использовал свою логику, и документы API, похоже, не помогли. Надеюсь, кто-то может указать мне в правильном направлении. Заранее спасибо за вашу помощь.

ответ

5

В обоих ваших методах вы просто строите объект Request, и вы никогда не отправляете запрос на 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()); 

Пример для метода 1 (для модификации экземпляра (ов)) должен быть одинаковым.

+0

thx для справки. это сработало. глупый я. – Classified

+1

AmazonRDSClient устарел, теперь вы должны использовать AmazonRDSClientBuilder. – cremy

0

Прочитано this link of code samples от Amazon. Он описывает, как создавать, читать, обновлять, удалять, описывать описание таблицы etc из Java API с помощью Amazon Java SDK. То же самое касается других языков.

Вы должны знать Amazon JDBC URl, известную как конечная точка. Ищите его под табличным экземпляром в консоли AWS.

Смежные вопросы