全部产品
阿里云办公

通过命令行CLI调用API

更新时间:2018-08-16 15:51:21

OpenAPI Explorer提供命令行方式调用API。命令格式同安装版CLI,但无需您进行安装和配置AccessKey,登录后即可使用。

1. 命令行入口

2. 使用说明

2.1. 语法

2.1.1. 调用API

您需按如下方式拼装命令:

aliyun <product> <operation> [--parameter1 value1 --parameter2 value2 ...]

  • aliyun为固定值,启动命令行
  • product,为云产品英文名称缩写,获取方式:

    键入命令:aliyun helpaliyun --help

  • operation,为API名称或者PATH,阿里云的 API 分为 RPC 和 REST 两种风格。如:“云服务器 ECS”、“云数据库 RDS” 版 为RPC风格,而“容器服务”、“资源编排”则为REST风格。
    • RPC 风格 API 的 operation 为API Name 获取方式:
      • 键入命令:aliyun <product> help,如:aliyun ecs help
      • 键入命令:aliyun <product> --help,如:aliyun ecs --help
    • REST 风格 API的的 operation 为API 的PATH,获取方式
      • 键入命令:aliyun <product> helpaliyun <product> --help点击API文档链接,或者直接打开API文档来获取
  • parameter 为API的请求入参,获取方式:
    • aliyun <product> <operation> help,如:aliyun ecs DescribeRegions help
    • aliyun <product> <operation> --help ,如:aliyun ecs DescribeRegions --help

2.1.2 返回结果格式

返回结果可以是格式化的JSON数据或表格。默认:“JSON”

  • JSON

    不指定返回数据格式,默认会以JSON格式返回,如:

调用结果

  • 自定义表格

    --output cols=[parameter1,parameter2,...]

    • 表示使用表格输出。使用--output参数,必须同时指定cols:

      • cols: 表格的列名,需要与json数据中的字段相对应。如ECS DescribeInstances 接口返回结果中的字段InstanceId 以及 Status。

        例:

        aliyun ecs DescribeRegions --output cols=RegionId,LocalName

        表示,查询ECS可用区域,并以RegionId、LocalName作为表头的表格输出,执行结果如下:

        表格格式返回调用示例

  • 同时还可以选择如下子参数搭配使用:
    • rows: 通过jmespath查询语句来指定表格行在json结果中的数据来源。当查询语句具有Instances.Instance[]的形式时,可以省略该参数。
  • --waiter参数

    该参数用于轮询实例信息直到出现特定状态,非必须。

    例如使用ECS创建实例后,实例会有启动的过程。我们会不断的查询实例的运行状态,直到状态变为”Running”。

    例如:

    aliyun ecs DescribeInstances --InstanceIds '["i-12345678912345678123"]' --waiter expr='Instances.Instance[0].Status' to=Running

    执行以上命令后,命令行程序将以一定时间间隔进行实例状态轮询,并在实例状态变为Running时停止轮询。

    在使用--waiter参数时,必须指定以下两个子参数:

    • expr: 通过jmespath查询语句来指定json结果中的被轮询字段。
    • to: 被轮询字段的目标值。

      可选子参数:

      • timeout: 轮询的超时时间(秒)。
      • interval: 轮询的间隔时间(秒)。

2.1.3 调用示例

RPC API 调用示例
  • 查询ECS 地域列表

aliyun ecs DescribeRegions

  • 查询 RDS 实例列表,并设置PageSize为50

aliyun rds DescribeDBInstances --PageSize 50

REST API 调用示例
  • GET请求示例:

    aliyun cs GET /clusters

  • POST请求示例:

    aliyun cs POST /clusters --body "$(cat input.json)"

  • DELETE请求示例:

    aliyun cs DELETE /clusters/ce2cdc26227e09c864d0ca0b2d5671a07

2.2 其他命令

为了辅助您的操作,WebCLI还提供了其他命令。

  • Clear:清除屏幕内容
  • 上下键:查询命令执行历史,同Linux操作

3. 支持的产品列表

可以直接键入help来获取