CLI集成示例

阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI构建的通用命令行工具。该工具与云数据库 Tair(兼容 Redis)的OpenAPI一一对应,您可以使用该工具管理阿里云产品云数据库 Tair(兼容 Redis)实例。本文将为您演示通过阿里云CLI查询指定地域下的云数据库 Tair(兼容 Redis)实例列表。

前置概念

阅读本文前,若您还不了解阿里云CLI,请参见什么是阿里云CLI

当您需要使用CLI调用API完成相对复杂的任务时,建议将CLI整理成Shell脚本后再执行,以提高效率。

创建RAM用户并完成授权

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

  1. 创建RAM用户:

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

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

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

  2. 完成授权:

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

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

      说明

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

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

安装阿里云CLI

您也可使用阿里云提供的云命令行Cloud Shell调试阿里云CLI命令。关于云命令行的更多信息,请参见什么是云命令行?

生成CLI命令

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

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

  3. 单击右侧的CLI示例页签,即可生成携带参数的命令示例。

    image

    • 单击运行命令运行命令.png按钮,可唤出云命令行Cloud Shell并在其中快速完成命令调试。

    • 单击复制复制.png按钮,将CLI示例复制到剪贴板中,可粘贴至本地Shell工具中运行。

      说明
      • 将CLI示例复制到本地Shell工具中进行调试时,请注意参数格式。关于阿里云CLI命令参数使用格式的详细信息,请参见参数格式说明

      • 将命令复制到本地调用时,阿里云CLI将忽略默认身份凭证配置及环境变量设置中的地域信息,优先使用指定的地域调用命令,您可根据需要对该选项进行删除或保留。OpenAPI门户生成示例中会默认添加--region选项。

调用示例

以下代码示例将为您展示如何使用阿里云CLI调用DescribeInstancesOverview接口,查询华东1(杭州、cn-hangzhou)地域中的实例列表。获取更多阿里云CLI命令,请参见生成命令

  1. 执行命令。

    aliyun r-kvstore DescribeInstancesOverview --region cn-hangzhou --RegionId 'cn-hangzhou'
  2. 输出结果。

    {
            "Instances": [
                    {
                            "ArchitectureType": "cluster",
                            "Capacity": 1024,
                            "ChargeType": "PostPaid",
                            "ConnectionDomain": "r-bp1y****svonly41sr.redis.rds.aliyuncs.com",
                            "CreateTime": "2023-11-27T05:42:50Z",
                            "EngineVersion": "6.0",
                            "InstanceClass": "tair.rdb.cluster.sharding.common",
                            "InstanceId": "r-bp1y****svonly41sr",
                            "InstanceName": "yaluTest",
                            "InstanceStatus": "Normal",
                            "InstanceType": "tair_rdb",
                            "NetworkType": "VPC",
                            "RegionId": "cn-hangzhou",
                            "ResourceGroupId": "rg-acfm****zzrngoa",
                            "VSwitchId": "vsw-bp1g****keaw3xvndvvz0",
                            "VpcId": "vpc-bp1o****4yvz4kxeik3uu",
                            "ZoneId": "cn-hangzhou-k"
                    },
                    {
                            "ArchitectureType": "cluster",
                            "Capacity": 1024,
                            "ChargeType": "PostPaid",
                            "ConnectionDomain": "r-bp1s****lvbzmgedgj.redis.rds.aliyuncs.com",
                            "CreateTime": "2024-03-04T05:08:46Z",
                            "EngineVersion": "6.0",
                            "InstanceClass": "tair.rdb.cluster.sharding.common",
                            "InstanceId": "r-bp1s****lvbzmgedgj",
                            "InstanceName": "LidTest",
                            "InstanceStatus": "Normal",
                            "InstanceType": "tair_rdb",
                            "NetworkType": "VPC",
                            "RegionId": "cn-hangzhou",
                            "ResourceGroupId": "rg-acfm****zzrngoa",
                            "VSwitchId": "vsw-bp12****3z4zu9k4dhaew",
                            "VpcId": "vpc-bp1o****4yvz4kxeik3uu",
                            "ZoneId": "cn-hangzhou-k"
                    }
            ],
            "RequestId": "0E89ADAB-D582-5F49-9D7F-F482D15BE426",
            "TotalCount": 2
    }