All Products
Search
Document Center

ApsaraDB RDS:Python SDK example

Last Updated:Mar 30, 2026

Use Alibaba Cloud SDK for Python to call the DescribeDBInstances operation of ApsaraDB RDS and list your DB instances.

Prerequisites

Before you begin, make sure you have:

  • Python 3 installed. Run python --version to verify.

  • An Alibaba Cloud account with an AccessKey ID and AccessKey secret

  • A RAM user with the AliyunRDSReadOnlyAccess policy (or higher). See Set up a RAM user if you haven't done this yet.

Set up a RAM user

Skip this section if you already have a RAM user with the required permissions.

  1. Log on to the RAM console, go to the Users page, and click Create User.

  2. Set Logon Name to rds-openapi-operator and set Access Mode to Using permanent AccessKey to access.

  3. Click OK. Save the AccessKey ID and AccessKey secret that are displayed — you won't be able to retrieve them again.

  4. On the Users page, find the RAM user you just created and click Add Permissions in the Actions column.

  5. Search for AliyunRDS and select AliyunRDSReadOnlyAccess.

    AliyunRDSReadOnlyAccess grants permission to query RDS instances. Select AliyunRDSFullAccess for full management permissions, or create a custom policy. For more information, see Create custom policies.
  6. Click Grant permissions.

Call the API

Step 1: Review the API reference

Before calling an API operation, review its parameters and required permissions in the ApsaraDB RDS API reference.

Step 2: Configure environment variables

Store your credentials in environment variables to keep your AccessKey secret out of source code and version control.

Linux or macOS:

export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>

Windows (Command Prompt):

setx ALIBABA_CLOUD_ACCESS_KEY_ID "<access_key_id>"
setx ALIBABA_CLOUD_ACCESS_KEY_SECRET "<access_key_secret>"

After running setx, restart your terminal for the changes to take effect.

Step 3: Install the SDK

pip install alibabacloud_rds20140815==5.0.1

Step 4: Download and run the sample code

  1. Go to DescribeDBInstances on OpenAPI Explorer.

  2. On the Parameters tab, set RegionId to cn-beijing.

  3. On the SDK Sample Code tab, select Python and click Download Project.

  4. Extract the package and navigate to the alibabacloud_sample directory.

  5. Run the sample:

    python sample.py

    If the call succeeds, the response looks similar to:

    {
        "headers": {
            "date": "Tue, 18 Jun 2024 10:12:14 GMT",
            "content-type": "application/json;charset=utf-8",
            "content-length": "1018",
            "connection": "keep-alive",
            "keep-alive": "timeout=25",
            "access-control-allow-origin": "*",
            "access-control-expose-headers": "*",
            "x-acs-request-id": "3BBF9A9B-E74C-5EF5-99BB-4F65B4B67499",
            "x-acs-trace-id": "dcfce27991f7d63647cc3c31ae3daa65",
            "etag": "1se2pACCKd0kse87Rqtbprg8"
        },
        "statusCode": 200,
        "body": {
            "Items": {
                "DBInstance": [
                    {
                        "ConnectionMode": "Standard",
                        "ConnectionString": "rm-2zea24972vgw2****.mysql.rds.aliyuncs.com",
                        "CreateTime": "2024-06-18T10:09:56Z",
                        "DBInstanceClass": "mysql.n1e.small.1",
                        "DBInstanceId": "rm-2zea24972vgw2****",
                        "DBInstanceMemory": 1024,
                        "DBInstanceNetType": "Intranet",
                        "DBInstanceStatus": "Creating",
                        "DBInstanceStorageType": "general_essd",
                        "DBInstanceType": "Primary",
                        "DeletionProtection": false,
                        "Engine": "MySQL",
                        "EngineVersion": "8.0",
                        "ExpireTime": "2024-07-18T16:00:00Z",
                        "InstanceNetworkType": "VPC",
                        "LockMode": "Unlock",
                        "MutriORsignle": false,
                        "PayType": "Prepaid",
                        "ReadOnlyDBInstanceIds": {
                            "ReadOnlyDBInstanceId": []
                        },
                        "RegionId": "cn-beijing",
                        "ResourceGroupId": "rg-acfmz7u4zzr****",
                        "TipsLevel": 0,
                        "VSwitchId": "vsw-2zeyawzswr2lno0ys****",
                        "VpcCloudInstanceId": "rm-2zea24972vgw2****-20240618180950",
                        "VpcId": "vpc-2zeev9fov0chw8hjt****",
                        "ZoneId": "cn-beijing-l"
                    }
                ]
            },
            "NextToken": "o7PHCFqQhehg8NUW9EJ7Yw",
            "PageNumber": 1,
            "PageRecordCount": 1,
            "RequestId": "3BBF9A9B-E74C-5EF5-99BB-4F65B4B67499",
            "TotalRecordCount": 1
        }
    }

What's next

  • Explore other ApsaraDB RDS API operations at OpenAPI Portal.

  • Use the same SDK workflow to call ApsaraDB RDS API operations in other programming languages.