alicloud-rds
Alibaba Cloud RDS Skill
Manage RDS relational database service via the @alicloud/rds20140815 TypeScript SDK.
Prerequisites
npm install @alicloud/rds20140815 @alicloud/openapi-core @darabonba/typescript
export ALIBABA_CLOUD_ACCESS_KEY_ID="<your-key-id>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<your-key-secret>"
See scripts/setup_client.ts for a reusable client factory, and references/quickstart.md for full setup including endpoints, database engines, instance categories, charge types, pagination, and async polling.
Client Initialization
import Client from '@alicloud/rds20140815';
import { Config } from '@alicloud/openapi-core';
const client = new Client(new Config({
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
endpoint: 'rds.aliyuncs.com',
regionId: 'cn-hangzhou',
}));
API Overview (398 APIs in 12 Domains)
| Domain | APIs | Key Operations | Reference |
|---|---|---|---|
| Instance Management | 117 | createDBInstance, describeDBInstances, modifyDBInstanceSpec | references/instance.md |
| Read-Only & Proxy | 19 | createReadOnlyDBInstance, createDBProxy, allocateReadWriteSplittingConnection | references/readonly.md |
| Account Management | 18 | createAccount, grantAccountPrivilege, resetAccountPassword | references/account.md |
| Database Management | 10 | createDatabase, deleteDatabase, describeDatabases | references/database.md |
| Backup & Recovery | 31 | createBackup, modifyBackupPolicy, restoreTable, createDdrInstance | references/backup.md |
| Security & Network | 36 | modifySecurityIps, modifyDBInstanceSSL, modifyDBInstanceTDE | references/security.md |
| Monitoring & Diagnostics | 29 | describeDBInstancePerformance, describeSlowLogRecords | references/monitoring.md |
| Parameter Management | 19 | modifyParameter, createParameterGroup, describeHistoryEvents | references/parameter.md |
| Migration & Import/Export | 24 | createMigrateTask, createCloudMigrationTask, createGADInstance | references/migration.md |
| PostgreSQL Extensions | 32 | updatePostgresExtensions, upgradeDBInstanceMajorVersion | references/postgres-ext.md |
| RDS Custom (RC) Instance | 76 | runRCInstances, createRCDisk, createRCSecurityGroup | references/rc-instance.md |
| Tag & Resource | 8 | tagResources, untagResources, modifyResourceGroup | references/tag-resource.md |
Core Patterns
RPC-Style with DBInstanceId
Most APIs require DBInstanceId as the primary identifier:
import * as models from '@alicloud/rds20140815/dist/models';
const { body } = await client.describeDBInstanceAttribute(
new models.DescribeDBInstanceAttributeRequest({
DBInstanceId: 'rm-bp1xxxxxxxxxxxxx',
})
);
Page-Based Pagination
let pageNumber = 1;
let all: any[] = [];
while (true) {
const { body } = await client.describeDBInstances(new models.DescribeDBInstancesRequest({
regionId: 'cn-hangzhou', pageSize: 100, pageNumber,
}));
all.push(...(body.items?.DBInstance || []));
if (all.length >= (body.totalRecordCount || 0)) break;
pageNumber++;
}
Async Operation Polling
Many operations are async — poll instance status until target state:
while (true) {
const { body } = await client.describeDBInstanceAttribute(
new models.DescribeDBInstanceAttributeRequest({ DBInstanceId: instanceId })
);
const status = body.items?.DBInstanceAttribute?.[0]?.DBInstanceStatus;
if (status === 'Running') break;
await new Promise(r => setTimeout(r, 10000));
}
Multi-Engine Support
RDS supports MySQL, PostgreSQL, SQL Server, and MariaDB. Specify engine at creation:
const { body } = await client.createDBInstance(new models.CreateDBInstanceRequest({
regionId: 'cn-hangzhou',
engine: 'MySQL', // MySQL | PostgreSQL | SQLServer | MariaDB
engineVersion: '8.0',
DBInstanceClass: 'mysql.n2m.small.2c',
DBInstanceStorage: 20,
DBInstanceNetType: 'Intranet',
payType: 'Postpaid',
securityIPList: '0.0.0.0/0',
DBInstanceStorageType: 'cloud_essd',
}));
Error Handling
try {
await client.createDBInstance(request);
} catch (err: any) {
console.error(`Code: ${err.code}, Message: ${err.message}, RequestId: ${err.data?.RequestId}`);
}
Common Workflows
1. Create Instance with Account and Database
createDBInstance → waitForRunning → createAccount → createDatabase → grantAccountPrivilege → modifySecurityIps
2. Read-Only Instance with Database Proxy
createReadOnlyDBInstance → createDBProxy → allocateReadWriteSplittingConnection
3. Backup and Point-in-Time Recovery
modifyBackupPolicy → createBackup → describeBackups → restoreTable
4. Cross-Region Disaster Recovery
modifyInstanceCrossBackupPolicy → describeCrossRegionBackups → createDdrInstance
5. Security Hardening
modifySecurityIps → modifyDBInstanceSSL → modifyDBInstanceTDE → modifySQLCollectorPolicy
6. Parameter Tuning
describeParameterTemplates → describeParameters → modifyParameter → restartDBInstance
7. Performance Monitoring
describeDBInstancePerformance → describeSlowLogRecords → createDiagnosticReport
8. PostgreSQL Major Version Upgrade
upgradeDBInstanceMajorVersionPrecheck → describeUpgradeMajorVersionPrecheckTask → upgradeDBInstanceMajorVersion
See references/workflows.md for detailed workflow examples with full code.
API Reference Quick Index
Load the corresponding reference file for parameter details:
- Instance CRUD/lifecycle/spec/network/pricing:
references/instance.md - Read-only instances/proxy/read-write splitting:
references/readonly.md - Account CRUD/password/privileges:
references/account.md - Database CRUD/charset/collation:
references/database.md - Backup/restore/cross-region DR:
references/backup.md - IP whitelist/SSL/TDE/security groups/masking:
references/security.md - Performance/slow queries/SQL audit/diagnostics:
references/monitoring.md - Parameters/parameter groups/events:
references/parameter.md - Migration/import/export/GAD:
references/migration.md - PostgreSQL extensions/PG HBA/replication/DuckDB:
references/postgres-ext.md - RDS Custom instances/disks/images/keys/commands:
references/rc-instance.md - Resource tagging:
references/tag-resource.md
Each reference file contains per-API documentation with method signatures and parameter tables.
Code Examples
See scripts/examples.ts for ready-to-use code covering:
- Instance listing, creation, and deletion
- Account and database management
- Backup creation and listing
- IP whitelist and SSL configuration
- Performance monitoring and slow query analysis
- Parameter management
- Resource tagging
More from dafang/alicloud-agent-skills
alicloud-ecs
Manage Alibaba Cloud Elastic Compute Service (ECS) using the @alicloud/ecs20140526 TypeScript SDK. Use when working with cloud servers on Alibaba Cloud, including instance lifecycle (create, start, stop, reboot, delete), disks and snapshots, images, security groups, VPC networking, EIP, ENI, SSH key pairs, dedicated hosts, auto provisioning, launch templates, Cloud Assistant commands, tags, system events, diagnostics, storage capacity units, and prefix lists. Covers all 374 APIs of the ECS 20140526 version.
1alicloud-fc
Manage Alibaba Cloud Function Compute (FC) 3.0 using the @alicloud/fc20230330 TypeScript SDK. Use when working with serverless functions on Alibaba Cloud, including function CRUD, invocation, versions, aliases, triggers (HTTP/Timer/OSS/CDN/MNS), async invocation, concurrency and scaling configs, provisioned instances, custom domains, layers, VPC bindings, sessions, and resource tagging. Covers all 67 APIs of the FC 20230330 version.
1