Python调用SDK示例

本文介绍如何使用阿里云Python语言SDK开发包,调用云原生数据仓库 AnalyticDB MySQL 版的DescribeDBClusters接口(查询实例列表)。

查看OpenAPI文档

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

创建RAM用户并完成授权

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

  1. 创建RAM用户:

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

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

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

  2. 完成授权:

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

    2. 在文本框中搜索AliyunADB,选择AliyunADBReadOnlyAccess策略。

      说明

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

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

调用OpenAPI

本文介绍阿里云Python语言SDK方式调用OpenAPI,其他语言SDK的用法也类似,更多信息请参见云原生数据仓库AnalyticDB MySQL版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_credentials
pip install alibabacloud_adb20190315
pip install alibabacloud_tea_console

下载示例代码

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

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

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

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

运行代码

执行以下命令。

python sample.py

返回示例如下。

[
  LOG
] {
  "headers":{
    "date":"Tue, 01 Aug 2023 02:05:31 GMT",
    "content-type":"application/json;charset=utf-8",
    "content-length":"1042","connection":"keep-alive",
    "keep-alive":"timeout=25","vary":"Accept-Encoding",
    "access-control-allow-origin":"*",
    "access-control-expose-headers":"*",
    "x-acs-request-id":"A239D19A-3862-52A9-8D85-09E65F07****",
    "x-acs-trace-id":"a1f567557dc98fb5f368346302e6****",
    "etag":"1uiSaYPuCXwyGD9ECHaa****"
  },
  "statusCode":200,
  "body":{
    "Items":{
      "DBCluster":[
        {
          "Category":"MIXED_STORAGE",
          "CommodityCode":"ads",
          "ComputeResource":"32Core128GBNEW",
          "ConnectionString":"am-bp1255hwaziiskcnu9****.ads.aliyuncs.com",
          "CreateTime":"2023-07-31T05:40:36Z",
          "DBClusterDescription":"am-bp1255hwaziis****",
          "DBClusterId":"am-bp1255hwaziis****",
          "DBClusterNetworkType":"VPC",
          "DBClusterStatus":"Running",
          "DBClusterType":"Common",
          "DBNodeClass":"E32",
          "DBNodeCount":1,
          "DBNodeStorage":100,
          "DBVersion":"3.0",
          "DiskType":"cloud_essd",
          "DtsJobId":"",
          "ElasticIOResource":1,
          "Engine":"AnalyticDB",
          "ExecutorCount":2,
          "LockMode":"Unlock",
          "LockReason":"",
          "Mode":"flexible",
          "PayType":"Postpaid",
          "Port":"3306",
          "RdsInstanceId":"",
          "RegionId":"cn-hangzhou",
          "ResourceGroupId":"rg-acfmz7u4zzr****",
          "StorageResource":"24Core192GB",
          "Tags":{"Tag":[]},
          "VPCCloudInstanceId":"am-bp1255hwaziis****-controller",
          "VPCId":"vpc-bp1ov7as4yvz4kxei****",
          "VSwitchId":"vsw-bp14jupk2fa0avw8v****",
          "ZoneId":"cn-hangzhou-h"
        }
      ]
    },
    "PageNumber":1,
    "PageSize":30,
    "RequestId":"A239D19A-3862-52A9-8D85-09E65F07B98C","TotalCount":1
  }
}