Skillshub alicloud-rds
Manage Alibaba Cloud RDS using the @alicloud/rds20140815 TypeScript SDK. Use when working with relational database instances (MySQL, PostgreSQL, SQL Server, MariaDB), accounts, databases, backups, security, monitoring, parameters, read-only instances, database proxy, migration, cross-region DR, PostgreSQL extensions, RDS Custom instances, and resource tagging. Covers all 398 APIs of the RDS 20140815 version.
git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/agents-infrastructure/alicloud-agent-skills/alicloud-rds" ~/.claude/skills/comeonoliver-skillshub-alicloud-rds && rm -rf "$T"
skills/agents-infrastructure/alicloud-agent-skills/alicloud-rds/SKILL.mdAlibaba 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