Python SDK集成示例

本文介绍如何使用阿里云Python语言SDK开发包,调用云数据库 Tair(兼容 Redis)的DescribeInstancesOverview接口(查询实例列表及其基本信息)。

查看OpenAPI文档

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

创建RAM用户并完成授权

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

  1. 创建RAM用户:

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

    2. 设置登录名称redis-openapi-operator,选择访问方式使用永久 AccessKey 访问

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

  2. 完成授权:

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

    2. 在文本框中搜索AliyunKvstore,选择AliyunKvstoreReadOnlyAccess策略。

      说明

      AliyunKvstoreReadOnlyAccess策略拥有查询Tair实例的操作权限,您也可以按需选择AliyunKvstoreFullAccess权限(具有查询、修改Tair实例的完全控制权限)或进行自定义策略,更多信息请参见身份管理

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

调用OpenAPI

本文介绍阿里云Python语言SDK方式调用OpenAPI,其他语言SDK的用法也类似,更多信息请参见云数据库 Tair(兼容 Redis)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_r_kvstore20150101
pip install alibabacloud_tea_console

下载示例代码

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

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

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

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

运行代码

执行以下命令。

python sample.py

返回示例如下。

[
    LOG
]{
    "headers": {
        "date": "Tue, 04 Jul 2023 10:03:39 GMT",
        "content-type": "application/json;charset=utf-8",
        "content-length": "1665",
        "connection": "keep-alive",
        "keep-alive": "timeout=25",
        "vary": "Accept-Encoding",
        "access-control-allow-origin": "*",
        "access-control-expose-headers": "*",
        "x-acs-request-id": "F2F4B6CB-3C03-51A0-9300-F78BC94E****",
        "x-acs-trace-id": "4d9ceb1f6cb98086cd8333f0bb30****",
        "etag": "1YlaXvHZ3H5CjZic1Oeo****"
    },
    "statusCode": 200,
    "body": {
        "Instances": [
            {
                "ArchitectureType": "standard",
                "Capacity": 4096,
                "ChargeType": "PostPaid",
                "ConnectionDomain": "r-bp1u7sm6mp6h83****.redis.rds.aliyuncs.com",
                "CreateTime": "2023-02-07T05:49:56Z",
                "EngineVersion": "6.0",
                "InstanceClass": "redis.shard.large.ce",
                "InstanceId": "r-bp1u7sm6mp6h83****",
                "InstanceName": "",
                "InstanceStatus": "Normal",
                "InstanceType": "Redis",
                "NetworkType": "VPC",
                "RegionId": "cn-hangzhou",
                "ResourceGroupId": "rg-acfmz7u4zzr****",
                "VSwitchId": "vsw-bp1ah4djy7ghm3ump****",
                "VpcId": "vpc-bp1p5zk2l6ixtgx6v****",
                "ZoneId": "cn-hangzhou-h"
            },
            {
                "ArchitectureType": "rwsplit",
                "Capacity": 2048,
                "ChargeType": "PostPaid",
                "ConnectionDomain": "r-bp1qsslcssrjeb****.redis.rds.aliyuncs.com",
                "CreateTime": "2023-02-07T05:53:33Z",
                "EngineVersion": "6.0",
                "InstanceClass": "tair.rdb.with.proxy.2g",
                "InstanceId": "r-bp1qsslcssrjeb****",
                "InstanceName": "",
                "InstanceStatus": "Normal",
                "InstanceType": "tair_rdb",
                "NetworkType": "VPC",
                "RegionId": "cn-hangzhou",
                "ResourceGroupId": "rg-acfmz7u4zzr****",
                "VSwitchId": "vsw-bp1ah4djy7ghm3ump****",
                "VpcId": "vpc-bp1p5zk2l6ixtgx6v****",
                "ZoneId": "cn-hangzhou-h"
            }
        ],
        "RequestId": "F2F4B6CB-3C03-51A0-9300-F78BC94EE283",
        "TotalCount": 2
    }
}