华为云用户手册

  • URI PUT /v2/{project_id}/clusters/{cluster_id}/logical-clusters/{logical_cluster_id} 表1 路径参数 参数 是否必选 参数类型 描述 cluster_id 是 String 指定待编辑集群的ID。获取方法,请参见获取集群ID。 project_id 是 String 项目ID。获取方法,请参见获取项目ID。 logical_cluster_id 是 String 指定待编辑逻辑集群的ID。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 cluster_rings 是 Array of ClusterRing objects 逻辑集群编辑环列表信息。 mode 否 String 模式。 waiting_for_killing 否 Integer 是否等待销毁。 表3 ClusterRing 参数 是否必选 参数类型 描述 ring_hosts 是 Array of RingHost objects 集群主机信息。 表4 RingHost 参数 是否必选 参数类型 描述 host_name 是 String 主机名称。 back_ip 是 String 后端IP地址。 cpu_cores 是 Integer 主机CPU核数。 memory 是 Double 主机内存。 disk_size 是 Double 主机磁盘大小。
  • 请求示例 POST https://{Endpoint}/v2/89cd04f168b84af6be287f71730fdb4b/clusters/4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90/nodes/delete { "node_list" : [ "16413746-258e-4a3c-bea9-8496fdbefde3" ], "operate_type" : "delete" }
  • 请求示例 POST https://{Endpoint}/v2/89cd04f168b84af6be287f71730fdb4b/clusters/4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90/resize-with-existed-nodes { "scale_out" : { "count" : 3 }, "force_backup" : false, "mode" : "read-only", "logical_cluster_name" : "test-logical-cluster", "expand_with_existed_node" : true, "create_node_only" : true, "auto_redistribute" : true, "is_scheduler_build_mode" : false, "redis_conf" : { "redis_mode" : "offLine", "schedule_conf" : null, "parallel_jobs" : 4, "parallel_job" : 4 }, "build_task_info" : { "build_mode" : "read-only", "start_time" : null, "end_time" : null } }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 scale_out 是 ScaleOut object 扩容对象。 resize 否 Resize object 扩容节点大小。 force_backup 是 Boolean 是否强制备份。 mode 是 String 扩容模式。 logical_cluster_name 是 String 逻辑集群名称。 expand_with_existed_node 是 Boolean 是否是使用已添加的空闲节点进行扩容。 create_node_only 是 Boolean 是否只是添加节点。 auto_redistribute 是 Boolean 扩容完成后是否自动启动重分布,默认true。 is_scheduler_build_mode 是 Boolean 是否调度模式扩容加节点。 redis_conf 是 RedisConf object 重分布配置信息。 build_task_info 是 BuildTaskInfo object 调度模式扩容加节点配置信息。 order_id 否 String 扩容订单ID。 表3 ScaleOut 参数 是否必选 参数类型 描述 count 是 Integer 扩容节点数。 表4 Resize 参数 是否必选 参数类型 描述 node_type 是 String 调整大小目标规格。 number_of_node 是 Integer 调整大小目标节点数。 表5 RedisConf 参数 是否必选 参数类型 描述 redis_mode 是 String 重分布模式。 schedule_conf 否 ScheduleConf object 调度配置信息。 parallel_jobs 是 Integer 并行作业数量。 parallel_job 是 Integer 并行作业数量。 表6 ScheduleConf 参数 是否必选 参数类型 描述 schedule_start 否 String 调度开始时间。 schedule_end 否 String 调度结束时间。 schedule_type 否 String 调度类型。 schedule_date 否 Array of integers 调度日期。 schedule_time 否 Array of strings 调度时间列表。 表7 BuildTaskInfo 参数 是否必选 参数类型 描述 build_mode 是 String 任务模式。 start_time 否 String 任务开始时间。 end_time 否 String 任务结束时间。 category_id 否 String 策略ID。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 volumes Array of LogicalClusterVolume objects 逻辑集群磁盘信息列表。 count Long 逻辑集群磁盘总数。 表4 LogicalClusterVolume 参数 参数类型 描述 logical_cluster_name String 逻辑集群名称。 usage String 磁盘使用量。 total String 磁盘总量。 percent String 磁盘使用比例。
  • URI GET /v2/{project_id}/clusters/{cluster_id}/logical-clusters/volumes 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法,请参见获取项目ID。 cluster_id 是 String 集群ID。获取方法,请参见获取集群ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 分页查询,偏移。 limit 否 Integer 分页查询,每页显示的条目数量。
  • URI DELETE /v2/{project_id}/clusters/{cluster_id}/logical-clusters/{logical_cluster_id} 表1 路径参数 参数 是否必选 参数类型 描述 cluster_id 是 String 指定待删除集群的ID。获取方法,请参见获取集群ID。 project_id 是 String 项目ID。获取方法,请参见获取项目ID。 logical_cluster_id 是 String 指定待删除逻辑集群的ID。
  • 操作场景 当您购买的云桌面规格无法满足业务需要时,可参考本章节变更规格,升级vCPU、内存。 “包年/包月”的桌面: 同一套餐类型内的规格变更,仅支持升高云桌面规格。例如,当前桌面规格为尊享版8核16G,则只能变更规格为尊享版8核32G。 跨套餐类型间的规格变更,支持相同规格变更以及升高云桌面的规格。例如当前桌面规格为企业版8核16G,可变更为尊享版8核16G、8核32G。 “按需计费”的桌面: 同一套餐类型内的规格变更,可根据业务需要,升高或降低云桌面规格。例如,当前桌面规格为尊享版8核16G,则可变更规格为尊享版8核32G,或者尊享版4核8G等低于8核16G的规格。 跨套餐类型间的规格变更,支持相同规格变更、升高或降低云桌面规格。例如,当前桌面规格为企业版8核16G,则可变更规格为尊享版8核16G、尊享版8核32G,或者尊享版4核8G等低于8核16G的规格。
  • 操作场景 当您购买的桌面池规格无法满足业务需要时,可参考本章节变更规格,升级vCPU、内存。 “包年/包月”的桌面池: 同一套餐类型内的规格变更,仅支持升高云桌面规格。例如,当前桌面规格为尊享版8核16G,则只能变更规格为尊享版8核32G。 跨套餐类型间的规格变更,支持相同规格变更以及升高云桌面的规格。例如当前桌面规格为通企业版8核16G,可变更为尊享版8核16G、8核32G。 “按需计费”的桌面池: 同一套餐类型内的规格变更,可根据业务需要,升高或降低云桌面规格。例如,当前桌面规格为尊享版8核16G,则可变更规格为尊享版8核32G,或者尊享版4核8G等低于8核16G的规格。 跨套餐类型间的规格变更,支持相同规格变更、升高或降低云桌面规格。例如,当前桌面规格为企业版8核16G,则可变更规格为尊享版8核16G、尊享版8核32G,或者尊享版4核8G等低于8核16G的规格。 “包年/包月”的桌面计费模式,不支持降低云桌面规格。 “按需计费”的桌面,可根据业务需要,升高或降低云桌面规格。
  • 创建一个HTTP类型的API 调用创建API分组接口,创建一个API分组。 { "name": "APIGroup_test", "remark": "测试分组" } 您需要指定如下参数: name:API分组的名称 remark:对于此API分组的描述信息 调用创建API接口,创建一个HTTP类型API。 { "auth_type": "APP", "backend_api": { "req_method": "GET", "req_protocol": "HTTP", "req_uri": "/test/benchmark", "timeout": 1000, "url_domain": "xx.xx.xx.93:12346" }, "backend_type": "HTTP", "group_id": "2b89e73458******98a828c5eca3b6c3", "name": "test", "req_method": "GET", "req_uri": "/test", "type": 1, "result_normal_sample": "hello world!" } 您需要指定如下参数: auth_type:API认证方式 backend_api:后端服务的参数 req_method:接口调用方式 req_protocol:后端服务的请求协议 req_uri:后端服务的请求路径 timeout:API网关请求后端服务的超时时间 url_domain:后端服务的地址 不可使用如下预留地址段: 0.0.0.0/8 10.0.0.0/8 100.125.0.0/16 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 192.88.99.0/24 192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 203.0.113.0/24 224.0.0.0/4 240.0.0.0/4 255.255.255.255/32 backend_type:后端服务的类型 group_id:API所属的分组编号,获取方式请参见查询分组列表 name:API的名称 req_method:API的请求方式 req_uri:API的访问地址 type:API类型,1表示公有API,2表示私有API result_normal_sample:正常响应示例,描述API的正常返回信息 API创建完后,您可以在API网关的管理控制台查看到该API。
  • 共享版API概览 API网关共享版接口的分类与说明如表1所示。 表1 共享版API概览 类型 说明 API分组管理 包括API分组的创建、修改、删除和查询等接口。 API管理 包括API的创建、修改、删除、发布、下线和查询等接口。 APP管理 包括APP的创建、修改、删除、重置密钥和查询等接口。 APP授权管理 包括授权、解除授权、查询授权关系等接口。 环境管理 包括环境的创建、修改、删除和查询接口。 环境变量管理 包括环境变量的创建、删除和查询等接口。 流控策略管理 包括流控策略的创建、修改、删除和查询等接口。 API绑定流控策略 包括流控策略的查询、绑定和解除绑定等接口。 设置特殊流控 包括特殊流控的创建、修改、删除和查询接口。 ACL策略管理 包括黑白名单的创建、修改、删除和查看等接口。 API绑定ACL策略 包括查询API绑定ACL策略列表、查看ACL策略绑定/未绑定API列表和解除已绑定的API接口。 云商店订购信息查询 包括查询已购买的API分组列表、查询分组详情和API列表接口。 配置管理 包括配置对象模型和查询租户配置详情接口。 概要查询 包括概要信息的查询接口。 签名密钥管理 包括签名密钥的创建、修改、删除和查询接口。 签名密钥绑定关系管理 包括签名密钥的绑定和解除绑定接口,查询签名密钥绑定/未绑定API列表接口。 域名管理 包括域名的绑定、解绑和证书的绑定、删除接口。 VPC通道管理 包括创建VPC通道、更新VPC通道、删除VPC通道、查看VPC通道详情和列表、添加和删除云服务器、查看云服务器列表。 监控信息查询 包括API/API分组的统计信息查询接口。 OpenAPI接口 导出租户发布分组到指定环境的Swagger API。 自定义认证管理 包括自定义认证的创建、修改、删除,查看自定义认证详情,查询自定义认证列表。 父主题: API概览
  • 修改配置信息 为了方便,下文分生产与消费两个配置文件介绍。如果ROMA Connect实例开启了SASL认证,在Java客户端的配置文件中必须配置涉及SASL认证的相关信息,否则无法连接。如果没有使用SASL认证,请注释掉相关配置。 生产消息配置文件(对应生产消息代码中的mqs.sdk.producer.properties文件) 以下粗体部分为不同MQS特有的信息,必须修改。客户端其他参数,可以自主添加。 #Topic名称在具体的生产与消费代码中。 ####################### #举例:bootstrap.servers=192.168.0.196:9095,192.168.0.196:9096,192.168.0.196:9094 bootstrap.servers=ip1:port1,ip2:port2,ip3:port3 #发送确认参数 acks=all #键的序列化方式 key.serializer=org.apache.kafka.common.serialization.StringSerializer #值的序列化方式 value.serializer=org.apache.kafka.common.serialization.StringSerializer #producer可以用来缓存数据的内存大小 buffer.memory=33554432 #重试次数 retries=0 ####################### #如果不使用SASL认证,以下参数请注释掉。 ####################### #设置用户名和密码 sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \ username="username" \ password="password"; #SASL鉴权方式 sasl.mechanism=PLAIN #加密协议,目前支持SASL_SSL协议 security.protocol=SASL_SSL #ssl truststore文件的位置 ssl.truststore.location=E:\\temp\\client.truststore.jks #ssl truststore文件的密码,固定,请勿修改。配置此密码是为了访问Java生成的jks文件。 ssl.truststore.password=dms@kafka ssl.endpoint.identification.algorithm= 示例代码中的参数说明,可参考获取MQS连接信息获取参数值。 bootstrap.servers:MQS连接地址和端口。 username和password:开启SASL_SSL认证时所使用的用户名和密码。 ssl.truststore.location:开启SASL_SSL认证时所使用的客户端证书。 消费消息配置文件(对应消费消息代码中的mqs.sdk.consumer.properties文件) 以下粗体部分为不同MQS特有的信息,必须修改。客户端其他参数,可以自主添加。 #Topic名称在具体的生产与消费代码中。 ####################### #举例:bootstrap.servers=192.168.0.196:9095,192.168.0.196:9096,192.168.0.196:9094 bootstrap.servers=ip1:port1,ip2:port2,ip3:port3 #用来唯一标识consumer进程所在组的字符串,请您自行设定。 #如果设置同样的group id,表示这些processes都是属于同一个consumer group group.id=1 #键的序列化方式 key.deserializer=org.apache.kafka.common.serialization.StringDeserializer #值的序列化方式 value.deserializer=org.apache.kafka.common.serialization.StringDeserializer #偏移量的方式 auto.offset.reset=earliest ####################### #如果不使用SASL认证,以下参数请注释掉。 ####################### #设置jaas账号和密码,通过控制台设置 sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \ username="username" \ password="password"; #SASL鉴权方式 sasl.mechanism=PLAIN #加密协议,目前支持SASL_SSL协议 security.protocol=SASL_SSL #ssl truststore文件的位置 ssl.truststore.location=E:\\temp\\client.truststore.jks #ssl truststore文件的密码,配置此密码是为了访问Java生成的jks文件。 ssl.truststore.password=dms@kafka ssl.endpoint.identification.algorithm= 示例代码中的参数说明,可参考获取MQS连接信息获取参数值。 bootstrap.servers:MQS连接地址和端口。 group.id:消费组名称。根据业务需要,自定义消费组名称,如果设置的消费组不存在,系统会自动创建。 username和password:开启SASL_SSL认证时所使用的用户名和密码。 ssl.truststore.location:开启SASL_SSL认证时所使用的客户端证书。
  • 调用接口步骤 获取Token。 请参考《统一身份认证服务 API参考》的“获取用户Token”接口,获取Token。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 请求内容示例如下: POST https://{iam_endpoint}/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxx" } } } } 其中: {iam_endpoint}请参见地区和终端节点获取。 username为用户名。 domainname为用户所属的账号名称。 ********为用户登录密码。 xxxxxxxx为项目ID。 项目ID可以在管理控制台上,单击用户名,在下拉列表中单击“我的凭证”,查看“项目ID”。 调用业务接口,在请求消息头中增加“X-Auth-Token”,“X-Auth-Token”的取值为1中获取的Token。
  • 操作场景 当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。 调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。 Token认证:通过Token认证调用请求。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)对调用请求内容进行签名认证。 Site实例中不支持IAM认证开发。
  • 准备开发环境 安装开发工具 请根据所使用语言选择适合的开发工具。 安装2018.3.5或以上版本的IntelliJ IDEA,安装包请至IntelliJ IDEA官方网站下载。 安装2019 version 16.8.4及以上版本的Visual Studio,安装包请至Visual Studio官方网站下载。 安装开发语言环境 Java:安装1.8.111或以上版本的Java Development Kit,安装包请至Oracle官方下载页面下载。 Python:安装2.7或3.X版本的Python安装包,安装包请至Python官方下载页面下载。
  • 准备开发环境 安装开发工具 请根据所使用语言选择适合的开发工具。 安装2018.3.5或以上版本的IntelliJ IDEA,安装包请至IntelliJ IDEA官方网站下载。 安装3.0.3及以上版本Apache Maven,安装包请至Maven官方下载页面下载。 安装2019 version 16.8.4及以上版本的Visual Studio,安装包请至Visual Studio官方网站下载。 安装开发语言环境 Java:安装1.8.111或以上版本的Java Development Kit,安装包请至Oracle官方下载页面下载。 Python:安装2.7或3.X版本的Python,安装包请至Python官方下载页面下载。 Go:安装1.14及以上版本的Go,安装包请至Go官方下载页面下载。 C#:安装6.0及以上版本的.NET,安装包请至.NET官方下载页面下载。
  • 调用API示例 在工程中引入sdk。 using APIGATEWAY_SDK; 生成一个新的Signer, 输入API所授权凭据的Key和Secret,可参考获取API的调用信息获取。 Signer signer = new Signer(); signer.Key = "4f5f626b-073f-402f-a1e0-e52171c6100c"; signer.Secret = "******"; 生成一个Request对象,指定方法名、请求url和body,可参考获取API的调用信息获取。 HttpRequest r = new HttpRequest("POST", new Uri("https://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1?query=value")); r.body = "{\"a\":1}"; 给请求添加x-stage头,内容为环境名。如有需要,添加需要签名的其他头域。 r.headers.Add("x-stage", "RELEASE"); 进行签名,执行此函数会生成一个新的HttpWebRequest,并在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 1 HttpWebRequest req = signer.Sign(r); 若使用系统分配的子域名访问https请求的API,需要忽略证书校验,否则跳过此步。 System.Net.ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(delegate { return true; }); 访问API,查看访问结果。 var writer = new StreamWriter(req.GetRequestStream()); writer.Write(r.body); writer.Flush(); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); var reader = newStreamReader(resp.GetResponseStream()); Console.WriteLine(reader.ReadToEnd());
  • 配置设备连接信息 解压Demo压缩包,在“src”目录的底层路径下找到DeviceConnectDemo.java文件。 使用Java编辑工具打开这个文件,编辑设备连接的信息。运行成功后,在“设备管理”页面可以看到在线设备状态。 Demo工程中依赖的软件包在lib目录下,使用Demo时需要将demo的lib目录设置为当前工程的lib目录。 // 设备连接地址,格式为:tcp://ip:port final String host = ""; // 设备客户端ID final String clientId = ""; // 示例仅用作测试或示意,设备认证的用户名为敏感信息,请勿硬编码使用 final String userName = ""; // 示例仅用作测试或示意,设备认证的密码为敏感信息,请勿硬编码使用 final String password = ""; // 设备Publish权限的Topic final String pubTopic = ""; // 设备Subscribe权限的Topic final String subTopic = ""; // 设备发送的消息内容 final String payload = "hello world.";
  • 后端服务签名校验开发要求 开发工具版本要求: IntelliJ IDEA:2018.3.5或以上版本。 Eclipse:3.6.0或以上版本。 Visual Studio:2019 version 16.8.4或以上版本。 开发语言环境版本要求: Java:1.8.111或以上版本的Java Development Kit。 Python:2.7或3.X版本的Python安装包。 SDK使用限制: Java SDK仅支持hmac和basic类型的后端服务签名。 Python SDK仅支持hmac类型的后端服务签名。 C# SDK仅支持hmac类型的后端服务签名。
  • API调用认证开发要求 开发工具版本要求: IntelliJ IDEA:2018.3.5或以上版本。 Eclipse:3.6.0或以上版本。 Visual Studio:2019 version 16.8.4或以上版本。 开发语言环境版本要求: Java:1.8.111或以上版本的Java Development Kit。 Go:1.14及以上版本的Go安装包。 Python:2.7或3.X版本的Python安装包。 JavaScript:15.10.0及以上版本的Nodejs安装包。 PHP:8.0.3及以上版本的PHP安装包。 Android:4.1.2及以上版本的Android Studio。 浏览器版本要求:Chrome 89.0或以上版本。 SDK签名限制: 使用SDK对API请求签名时,仅支持对Body体为12M及以下的请求进行签名。 发送API请求时,SDK会将当前时间置于HTTP的X-Sdk-Date头,将签名信息置于Authorization头。签名只在一个有限的时间内是有效的,超时即无效。 ROMA Connect除了校验X-Sdk-Date的时间格式外,还会校验该时间值与收到请求的时间差,如果时间差超过15分钟,ROMA Connect将拒绝请求。因此,客户端须注意本地与NTP服务器的时间同步,避免请求消息头X-Sdk-Date的值出现较大误差。
  • 自定义后端开发要求 函数后端开发要求: 仅支持使用JavaScript编写函数,JavaScript的运行采用Java Nashorn的运行标准,支持ECMAScript Edition 5.1规范。 函数后端支持的脚本大小最大为32KB。 数据后端开发要求: 若数据后端执行语句查询获取的数据量较大,建议携带offset和limit参数进行分页,避免因响应数据太大导致响应超时。使用方式如下: select * from table01 limit '${limit}' offset ${offset} 其中offset和limit参数key在后端服务请求的Headers、Parameters或Body中传递。 不建议开启结果分页选项,结果分页当前仅支持2000条以内数据的分页。 数据后端支持的执行语句大小最大为32KB。
  • 准备开发环境 安装开发工具 请根据所使用语言选择适合的开发工具。 安装2018.3.5或以上版本的IntelliJ IDEA,安装包请至IntelliJ IDEA官方网站下载。 安装2019 version 16.8.4及以上版本的Visual Studio,安装包请至Visual Studio官方网站下载。 安装开发语言环境 Java:安装1.8.111或以上版本的Java Development Kit,安装包请至Oracle官方下载页面下载。 Go:安装1.14及以上版本的Go安装包,安装包请至Go官方下载页面下载。 Python:安装2.7或3.X版本的Python安装包,安装包请至Python官方下载页面下载。 JavaScript:安装15.10.0及以上版本的Nodejs安装包,安装包请至Nodejs官方下载页面下载。 PHP:安装8.0.3及以上版本的PHP安装包,安装包请至PHP官方下载页面下载。 Android:安装4.1.2及以上版本的Android Studio,安装包请至Android Studio官方网站下载。
  • 开发规范 开发工具版本要求: IntelliJ IDEA:2018.3.5或以上版本。 Eclipse:3.6.0或以上版本。 Visual Studio:2019 version 16.8.4或以上版本。 开发语言环境版本要求: Java:1.8.111或以上版本的Java Development Kit。 Python:2.7或3.X版本的Python。 Go:1.14及以上版本的Go。 C#:6.0及以上版本的.NET。 客户端版本使用建议: ROMA Connect的Kafka版本 Kafka客户端建议版本 1.1.0 Java:1.1.0及以上版本 Python:2.0.1及以上版本 Go:1.8.2及以上版本 C#:1.5.2及以上版本 2.7 Java:2.7.2及以上版本 Python:2.0.1及以上版本 Go:1.8.2及以上版本 C#:1.5.2及以上版本 客户端开发和配置建议: 请参见客户端使用建议和客户端参数配置建议。 父主题: 开发说明
  • URI POST /v2/{project_id}/{resource_type}/{resource_id}/tags 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID resource_type 是 String 资源的类型:DNS-public_zone,DNS-private_zone,DNS-public_recordset,DNS-private_recordset,DNS-ptr_record。 resource_id 是 String 资源id。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 tags 否 Array of tagValues objects 包含标签。 最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 tags_any 否 Array of tagValues objects 最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 not_tags 否 Array of tagValues objects 最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 not_tags_any 否 Array of tagValues objects 最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 limit 否 Integer 每页返回的资源个数。 取值范围:1~1000 参数取值说明: 如果action为filter时,默认为1000。 如果action为count时,无此参数。 offset 否 Integer 分页查询起始偏移量,表示从偏移量的下一个资源开始查询。 取值范围:0~2147483647 默认值为0。 参数取值说明: 查询第一页数据时,不需要传入此参数。 查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数。 如果action为filter时,默认为0,必须为数字,不能为负数。 如果action为count时,无此参数。 action 是 String 操作标识(区分大小写)。 取值范围: filter:分页过滤查询 count:查询总条数 matches 否 Array of match objects key为要匹配的字段,value为匹配的值。 如果value为空字符串则精确匹配,否则模糊匹配。 表4 tagValues 参数 是否必选 参数类型 描述 key 否 String 键。最大长度127个unicode字符。 key不能为空。(搜索时不对此参数做校验) values 否 Array of strings 值列表。每个值最大长度255个unicode字符。为系统保留字符。如果里面的value是以开头时,表示按照*后面的值全模糊匹配。如果values缺失,则表示匹配任意值。value之间为或的关系。 表5 match 参数 是否必选 参数类型 描述 key 是 String 键。当前值限定为resource_name。 value 否 String 值。每个值最大长度255个unicode字符。不能包含“_”,“%”特殊字符。
  • 响应示例 状态码: 204 使用标签查询资源实例响应。 { "resources" : [ { "resource_detail" : null, "resource_id" : "cdfs_cefs_wesas_12_dsad", "resource_name" : "resouece1", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ] } ], "total_count" : 1000 }
  • URI POST /v2/{project_id}/{resource_type}/resource_instances/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 resource_type 是 String 资源的类型:DNS-public_zone,DNS-private_zone,DNS-public_recordset,DNS-private_recordset,DNS-ptr_record。
  • 请求示例 使用标签查询资源实例,分页查询起始偏移量为100,每页返回资源个数为100。 POST https://{endpoint}/v2/{project_id}/{resource_type}/resource_instances/action { "offset" : "100", "limit" : "100", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "not_tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ] }
  • URI POST /v2/{project_id}/{resource_type}/{resource_id}/tags/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID resource_type 是 String 资源的类型:DNS-public_zone,DNS-private_zone,DNS-public_recordset,DNS-private_recordset,DNS-ptr_record。 resource_id 是 String 资源id。
共100000条