本文介绍了使用阿里云CLI时,不同数据类型字段需要遵循的格式要求。
对于API中不同数据类型的字段,阿里云CLI遵循如下格式要求:
参数大小写:由于API参数严格区分大小写,阿里云CLI的参数输入也严格区分大小写。
参数值大小写:虽然部分参数值可以不区分大小写,但为了保证统一的书写规范,建议您对参数值也严格区分大小写。
Integer类型参数值的传入:API文档中标注为Integer类型的参数,可直接传入。
示例:
aliyun ecs DescribeImages --ImageName WindowsTest --Pagesize 10
String类型参数值的传入:API文档中标注为String类型的参数,如果参数值中没有包含特殊字符,可直接传入。否则需要用单引号或双引号包含后再传入,在Linux、macOS或Windows PowerShell中,使用单引号(' '),在Windows Shell中,使用双引号(" ")。
示例:
无特殊字符:
aliyun ecs DescribeImages --ImageName WindowsTest
有特殊字符:
Windows:
aliyun ecs DescribeImages --ImageName "自定义镜像_1-10.11.161.1"
Linux/macOS:
aliyun ecs DescribeImages --ImageName '蓝屏windows-DB业务-10.173.161.26'
String类型字符串列表值的传入:API文档中标注为String类型的参数,如果支持多个值的列表(如ImageId列表),可将相应的参数值串用半角逗号字符分隔后,再使用单引号或双引号包含后传入。
示例:
Windows:
aliyun ecs DescribeImages --ImageId "m-23e0oxmbv,m-23waejuy9"
Linux/macOS:
aliyun ecs DescribeImages --ImageId 'm-23e0oxmbv,m-23waejuy9'
String类型JSON数组参数值的传入:API文档中标注为String类型的参数,如果要求参数值是一个带有格式的JSON Array,需要将所有值用单引号包括,中间用方括号包含、双引号引用、逗号分隔。也可将上述用法中的单引号和双引号互换。
示例:
Windows:
aliyun ecs DescribeDisks --DiskIds "['d-23rssg24f','d-23vsih26x','d-23sfqfbfa']"
Linux/macOS:
aliyun ecs DescribeDisks --DiskIds '["d-23rssg24f","d-23vsih26x","d-23sfqfbfa"]'
String类型JSON数组列表参数值的传入:API文档中标注为String类型的参数,如果要求参数值是一个JSON Array List,需要将所有值在最外层用双引号包括,中间用方括号包含,JSON Array值用大括号包含、逗号分隔,JSON Array内的key和value用冒号分隔。也可将上述用法中的单引号和双引号互换。
示例:
Windows:
aliyun slb AddBackendServers --LoadBalancerId 15157b19f18-cn-hangzhou-dg-a01 --BackendServers "[{'ServerId':'i-23g8aact0'},{'ServerId':'i-23bb03yh9'}]"
Linux/macOS:
aliyun slb AddBackendServers --LoadBalancerId 15157b19f18-cn-hangzhou-dg-a01 --BackendServers '[{"ServerId":"i-23g8aact0"},{"ServerId":"i-23bb03yh9"}]'
String类型日期格式参数值的传入:API文档中标注为String类型的参数,如果要求参数值是一个按照ISO8601标准表示的UTC时间,需要将时间按YYYY-MM-DDThh:mm:ssZ格式传入。
示例:
aliyun ecs DescribeInstanceMonitorData --InstanceId i-94ola4btx --StartTime 2015-11-28T15:00:00Z --EndTime 2015-11-28T18:00:00Z
特殊参数
当您输入的参数值包含特殊字符时,执行可能会存在解析错误,这时候需要写成
key=value
的格式。例如:--PortRange -1/-1
改写成--PortRange=-1/-1
,则可以正确执行。