3.8 KiB
3.8 KiB
AWS RDS API Reference
Core API Operations
Describe Operations
describeDBInstances- List database instancesdescribeDBParameterGroups- List parameter groupsdescribeDBSnapshots- List database snapshotsdescribeDBSubnetGroups- List subnet groups
Instance Management
createDBInstance- Create new database instancemodifyDBInstance- Modify existing instancedeleteDBInstance- Delete database instance
Parameter Groups
createDBParameterGroup- Create parameter groupmodifyDBParameterGroup- Modify parametersdeleteDBParameterGroup- Delete parameter group
Snapshots
createDBSnapshot- Create database snapshotrestoreDBInstanceFromDBSnapshot- Restore from snapshotdeleteDBSnapshot- Delete snapshot
Key Data Models
DBInstance
String dbInstanceIdentifier() // Instance name
String dbInstanceArn() // ARN identifier
String engine() // Database engine
String engineVersion() // Engine version
String dbInstanceClass() // Instance type
int allocatedStorage() // Storage size in GB
Endpoint endpoint() // Connection endpoint
String dbInstanceStatus() // Instance status
boolean multiAZ() // Multi-AZ enabled
boolean storageEncrypted() // Storage encrypted
DBParameter
String parameterName() // Parameter name
String parameterValue() // Parameter value
String description() // Description
int applyMethod() // Apply method (immediate/reboot)
CreateDbInstanceRequest Builder
CreateDbInstanceRequest.builder()
.dbInstanceIdentifier(identifier)
.engine("postgres") // Database engine
.engineVersion("15.2") // Engine version
.dbInstanceClass("db.t3.micro") // Instance type
.allocatedStorage(20) // Storage size
.masterUsername(username) // Admin username
.masterUserPassword(password) // Admin password
.publiclyAccessible(false) // Public access
.storageEncrypted(true) // Storage encryption
.multiAZ(true) // High availability
.backupRetentionPeriod(7) // Backup retention
.deletionProtection(true) // Protection from deletion
.build()
Error Handling
Common Exceptions
DBInstanceNotFoundFault- Instance doesn't existDBSnapshotAlreadyExistsFault- Snapshot name conflictsInsufficientDBInstanceCapacity- Instance type unavailableInvalidParameterValueException- Invalid configuration valueStorageQuotaExceeded- Storage limit reached
Error Response Structure
try {
rdsClient.createDBInstance(request);
} catch (RdsException e) {
// AWS specific error handling
String errorCode = e.awsErrorDetails().errorCode();
String errorMessage = e.awsErrorDetails().errorMessage();
switch (errorCode) {
case "DBInstanceNotFoundFault":
// Handle missing instance
break;
case "InvalidParameterValueException":
// Handle invalid parameters
break;
default:
// Generic error handling
}
}
Pagination Support
List Instances with Pagination
DescribeDbInstancesRequest request = DescribeDbInstancesRequest.builder()
.maxResults(100) // Limit results per page
.build();
String marker = null;
do {
if (marker != null) {
request = request.toBuilder()
.marker(marker)
.build();
}
DescribeDbInstancesResponse response = rdsClient.describeDBInstances(request);
List<DBInstance> instances = response.dbInstances();
// Process instances
marker = response.marker();
} while (marker != null);