Python调用SDK示例

本文介绍如何使用阿里云Python语言SDK开发包,调用RDS的DescribeDBInstances接口(查询RDS的实例列表)。

查看OpenAPI文档

在调用OpenAPI前,建议您先阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API概览

创建RAM用户并完成授权

如您已创建RAM用户并已完成授权,可跳过此步骤。

  1. 创建RAM用户:

    1. 访问RAM用户列表,单击创建用户

    2. 设置登录名称rds-openapi-operator,选择访问方式OpenAPI 调用访问

    3. 单击确定,创建RAM用户并保存AccessKey ID与AccessKey Secret信息。

  2. 完成授权:

    1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限

    2. 在文本框中搜索AliyunRDS,选择AliyunRDSReadOnlyAccess策略。

      说明

      AliyunRDSReadOnlyAccess策略拥有查询RDS实例的操作权限,您也可以按需选择AliyunRDSFullAccess权限(具有查询、修改RDS实例的完全控制权限)或进行自定义策略,更多信息请参见创建自定义权限策略

    3. 单击确认新增授权,完成授权操作。

调用OpenAPI

本文介绍阿里云Python语言SDK调用OpenAPI,其他语言SDK的用法也类似,更多信息请参见云数据库RDS SDK

准备Python环境

下载并安装Python 3。如您已安装Python,查看Python版本的命令示例:python --version

配置环境变量

配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

  • Linux和macOS系统:将以下命令中的<access_key_id><access_key_secret>替换为您自己的AccessKey ID和AccessKey Secret,然后在终端设备中逐条运行。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统:新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。

安装依赖

在终端设备中,逐条运行如下命令,安装环境依赖。

pip install alibabacloud_rds20140815==5.0.1

下载示例代码

  1. 访问DescribeDBInstances,进入该接口在OpenAPI门户的调试地址。

  2. 参数配置页签,填写需要的参数信息,本示例需要在RegionId(地域ID)参数中输入cn-beijing

  3. 在右侧的SDK示例页签,选择Python语言,单击下载完整工程按钮,下载示例代码包。

  4. 本地解压并进入alibabacloud_sample目录。

运行代码

执行以下命令。

python sample.py

返回示例如下。

{
    "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
    }
}