命令结构说明

更新时间:

阿里云云产品OpenAPI分为RPC和ROA两种类型,大部分产品使用的是RPC风格。当您使用阿里云CLI调用接口时,不同风格OpenAPI的调用方式不同。

通用命令结构

阿里云CLI的通用命令结构如下:

aliyun <command> <subcommand> [options and parameters]

结构示例中commandsubcommandoptions and parameters的详细信息如下所示:

  • command:指定一个顶级命令。

    • 可指定阿里云CLI支持的云产品ProductCode,例如ecsrds等。

    • 可指定阿里云CLI本身的功能命令,例如helpconfigure等。

  • subcommand:指定要执行操作的附加子命令,即具体的某一项操作。

    • 当顶级命令commandconfigure时,支持的子命令请参见配置凭证相关命令

    • 当顶级命令command为云产品code时,子命令通常为可调用的OpenAPI名称。更多云产品OpenAPI,请参见查找API

  • options and parameters:指定用于控制阿里云CLI行为的选项或者OpenAPI参数选项,其选项值可以是数字、字符串和JSON结构字符串等。更多参数格式信息,请参见参数格式说明

OpenAPI命令结构

判断OpenAPI风格

阿里云云产品OpenAPI分为RPC和ROA两种风格类型,大部分产品使用的是RPC风格。调用产品接口时需要判断接口类型,选择标准的命令结构发起调用。您可以通过以下特点判断OpenAPI类型。

  • 前往目标云产品文档,单击开发参考 > API概览,在文档中查看产品OpenAPI风格。

  • 在阿里云CLI中使用--help选项获取产品可用OpenAPI列表,RPC风格OpenAPI显示接口简述,ROA风格OpenAPI显示访问路径PathPattern。更多信息,请参见获取产品可用API列表

  • APIName后使用--help选项获取OpenAPI参数详情,除接口参数信息外,ROA风格OpenAPI会额外显示接口的请求方式Method和访问路径PathPattern。更多信息,请参见获取API参数详情

一般情况下,每个产品内所有API的调用风格是统一的。每个API仅支持特定的一种风格。更多关于RPC风格和ROA风格的信息,请参见OpenAPI 风格

RPC风格OpenAPI结构

命令结构

在阿里云CLI中,调用RPC风格API时,基本命令结构如下。

aliyun <product> <APIName> [--parameter1 value1 --parameter2 value2 ...]
  • ProductCode:需要调用的云产品code。例如云服务器 ECS(Elastic Compute Service)的产品code为ecs

  • APIName:需要调用的API。例如使用云服务器 ECSDescribeRegions接口。

  • --parameter:需要传入的请求参数。可在产品API文档查看请求参数详情。

  • 可使用--help选项获取关于以上参数的帮助信息。详情请参见获取帮助信息

命令示例

ROA风格OpenAPI结构

命令结构

在阿里云CLI中,调用ROA风格OpenAPI时,基本命令结构如下。

 aliyun <ProductCode> <Method> <PathPattern> --body <RequestBody>
  • ProductCode:需要调用的云产品code。例如容器服务 Kubernetes 版 ACK(Container Service for Kubernetes)的产品code为cs

  • Method:请求方式,常用请求方式有GETPUTPOSTDELETE。根据API文档选择合适的请求方式。

  • PathPattern:请求路径。根据产品API文档选择正确的请求路径。

  • RequestBody:请求主体。根据产品API文档编辑JSON字符串,或引用JSON格式文件。

  • 可使用--help选项获取关于以上参数的帮助信息。详情请参见获取帮助信息

命令示例

GET请求

以调用容器服务 Kubernetes 版DescribeClusterDetail接口为例。有关此API的更多信息,请参见DescribeClusterDetail - 查询指定集群的信息

aliyun cs GET /clusters/{cluster_id}

PUT请求

以调用容器服务 Kubernetes 版ModifyCluster接口为例。有关此API的更多信息,请参见ModifyCluster - 修改集群配置

aliyun cs PUT /api/v2/clusters/{ClusterId} --header "Content-Type=application/json" --body "$(cat input.json)"

POST请求

以调用容器服务 Kubernetes 版CreateCluster接口为例。有关此API的更多信息,请参见CreateCluster - 创建集群

aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)"

DELETE请求

以调用容器服务 Kubernetes 版DeleteClusterNodepool接口为例。有关此API的更多信息,请参见DeleteClusterNodepool - 删除节点池

aliyun cs DELETE /clusters/{ClusterId}/nodepools/{NodepoolId}