Python调用SDK示例

本文介绍如何使用阿里云Python语言SDK开发包,调用数据灾备(DBS)的DescribeBackupPlanList接口(查看备份计划)。

查看OpenAPI文档

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

创建RAM用户并完成授权

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

  1. 创建RAM用户。

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

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

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

  2. 完成授权。

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

    2. 在文本框中搜索AliyunDBS,选择AliyunDBSFullAccess策略。

      说明
      • AliyunDBSFullAccess策略拥有DBS所有读写权限,授权该策略的子账号可以进行DBS实例的购买、配置、管理等操作。AliyunDBSReadOnlyAccess策略拥有DBS所有读权限,授权该权限的子账号可以查看主账号下所有DBS任务的任务详情、任务配置等信息,但不能进行变更操作。

      • 您也可以按需进行自定义策略。更多信息,请参见数据灾备(DBS)自定义权限策略参考

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

调用OpenAPI

本文介绍阿里云Python语言SDK方式调用OpenAPI,其他语言SDK的用法也类似。更多信息,请参见数据库备份DBS 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_dbs20190306

下载示例代码

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

  2. 在左侧的参数配置页签,填写需要的参数信息,本示例需要在Region参数中输入cn-hangzhou

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

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

运行代码

执行以下命令。

python sample.py

返回示例如下。

{
    "headers": {
        "date": "Mon, 17 Jun 2024 07:22:04 GMT",
        "content-type": "application/json;charset=utf-8",
        "content-length": "1064",
        "connection": "keep-alive",
        "keep-alive": "timeout=25",
        "vary": "Accept-Encoding",
        "access-control-allow-origin": "*",
        "access-control-expose-headers": "*",
        "x-acs-request-id": "4C4073F2-35A9-5819-88F1-C018A871****",
        "x-acs-trace-id": "3c79c1be14f6f17be6aaa9af0f02****",
        "etag": "1Jukbw3tBgZiZxgb8TVR****"
    },
    "statusCode": 200,
    "body": {
        "HttpStatusCode": 200,
        "Items": {
            "BackupPlanDetail": [
                {
                    "BackupGatewayId": 16****,
                    "BackupMethod": "physical",
                    "BackupObjects": "[]",
                    "BackupPeriod": "SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY",
                    "BackupPlanCreateTime": 1718606018000,
                    "BackupPlanId": "dbsqe3w3vxq****",
                    "BackupPlanName": "DBS-csyl-L-3",
                    "BackupPlanStatus": "init",
                    "BackupRetentionPeriod": 730,
                    "BackupStartTime": "12:00",
                    "BackupStorageType": "system",
                    "DuplicationArchivePeriod": 0,
                    "DuplicationInfrequentAccessPeriod": 0,
                    "EnableBackupLog": true,
                    "InstanceClass": "medium",
                    "OSSBucketName": "dbs-backup-137383785969****-cn-hangzhou-qxl0qf4g****",
                    "OSSBucketRegion": "cn-hangzhou",
                    "OpenBackupSetAutoDownload": false,
                    "ResourceGroupId": "rg-acfmz7u4zzr****",
                    "SourceEndpointDatabaseName": "",
                    "SourceEndpointInstanceID": "",
                    "SourceEndpointInstanceType": "agent",
                    "SourceEndpointIpPort": "121.XX.XXX.171:3306",
                    "SourceEndpointRegion": "cn-hangzhou",
                    "SourceEndpointUserName": "root"
                }
            ]
        },
        "PageNum": 0,
        "PageSize": 30,
        "RequestId": "4C4073F2-35A9-5819-88F1-C018A871****",
        "Success": true,
        "TotalElements": 1,
        "TotalPages": 1
    }
}