2012-09-18 243 views
3

我试图使用Java API,开始在Amazon RDS新的MySQL实例 “db.t1.micro” 实例和下面的代码:亚马逊RDS:启动使用JAVA SDK

CreateDBInstanceRequest createDBInstanceRequest = new CreateDBInstanceRequest(); 
createDBInstanceRequest.setEngine("MySQL");  
createDBInstanceRequest.setLicenseModel("general-public-license"); 
createDBInstanceRequest.setEngineVersion("5.5.25a"); 
createDBInstanceRequest.setDBInstanceClass("db.t1.micro"); 
createDBInstanceRequest.setMultiAZ(false); 
createDBInstanceRequest.setAutoMinorVersionUpgrade(true); 
createDBInstanceRequest.setAllocatedStorage(5); 
createDBInstanceRequest.setDBInstanceIdentifier("mydbinstance"); 
createDBInstanceRequest.setMasterUsername("master"); 
createDBInstanceRequest.setMasterUserPassword("password"); 
createDBInstanceRequest.setDBName("dbname"); 
createDBInstanceRequest.setPort(3306); 
createDBInstanceRequest.setDBParameterGroupName("default.mysql5.5"); 
createDBInstanceRequest.setDBSubnetGroupName("dev"); 
createDBInstanceRequest.setBackupRetentionPeriod(1); 
DBInstance dbInstance = RDS.createDBInstance(createDBInstanceRequest); 

问题是,这总是会导致以下错误:

AWS Error Code: InsufficientDBInstanceCapacity, AWS Error Message: Cannot create a database instance because there is no availability zone with sufficient capacity. Please try your request again at a later time.

至于建议,我想在以后的时间,但从来没有能够以编程方式启动新的实例,但是,当我尝试推出使用亚马逊管理控制台实例,使用完全相同的参数,它立即启动。

我也注意到这个问题只发生在数据库实例类“db.t1.micro”。 此实例类是否不可通过API?

回答

0

您是否确定在您所在地区的任何可用区域都可以使用MySQL的确切版本?

我建议首先执行DescribeOrderableDBInstanceOptions为您的引擎选择,使用自己的标准进行过滤(例如DBInstanceClass =“db.t1.micro”),然后从中选择版本。