云服务器内容精选

  • 请求示例 批量添加标签key1和key2。 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/cee5265e1e5845649e354841234567dfin01/tags/action { "action": "create", "tags": [{ "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }] }
  • 请求消息 表2 参数说明 名称 是否必选 参数类型 说明 action 是 String 操作标识(区分大小写):创建时为“create”。 tags 是 Array of objects 标签列表。单个实例总标签数上限20个。 详情请参见表3。 表3 tags字段数据结构说明 名称 是否必选 参数类型 说明 key 是 String 标签键。长度为1-128个unicode字符。 可以包含任何语种字母、数字、空格和_.:=+-@,但首尾不能含有空格,不能以_sys_开头。 value 是 String 标签值。最大长度255个unicode字符,可以为空字符串。 可以包含任何语种字母、数字、空格和_.:=+-@。
  • 响应示例 状态码: 400 Bad Request 示例 1 { "error_code" : "GSL.00020004", "error_msg" : "参数异常" } 示例 2 { "error_code" : "GSL.00022001", "error_msg" : "标签名称不合法,请检查!" } 示例 3 { "error_code" : "GSL.00022002", "error_msg" : "标签名称已存在,请重新输入!" } 示例 4 { "error_code" : "GSL.00022003", "error_msg" : "登录用户最多可以创建10000个标签。" } 示例 5 { "error_code" : "GSL.00022004", "error_msg" : "登录用户没有标签的访问权限。" } 状态码: 500 Internal Server Error { "error_code" : "GSL.00020003", "error_msg" : "系统繁忙,请稍后重试。" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 id Long 标签标识 tag_name String 标签名称 最大长度:100 status Integer 标签状态,0未使用,1使用中。 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 最大长度:64 error_msg String 错误描述 最大长度:512 状态码: 500 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 最大长度:64 error_msg String 错误描述 最大长度:512
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 否 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token。 最小长度:1 最大长度:16384
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of Tag objects 租户标签列表 数组长度:0 - 20 表4 Tag 参数 参数类型 描述 key String 键;最大长度128个unicode字符。 key不能为空。 最小长度:0 最大长度:128 values Array of strings 值列表; 每个值最大长度255个unicode字符。如果values为空列表,则表示查询任意value 最小长度:0 最大长度:255 数组长度:0 - 20 状态码: 404 表5 响应Body参数 参数 参数类型 描述 http_code Integer Http状态码。200::OK,404:资源不存在。 最小值:3 最大值:3 枚举值: 200 404 message GoAPIErrorResponseMsg object 错误信息 表6 GoAPIErrorResponseMsg 参数 参数类型 描述 details String 错误信息 最小长度:0 最大长度:1024 code String 业务错误码 最小长度:1 最大长度:16
  • URI GET /v2/{project_id}/{resource_type}/tags 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID。 最小长度:1 最大长度:64 正则匹配:^[a-zA-Z0-9-]{1,64}$ resource_type 是 String 资源类型。 CES -alarm:告警规则,CES-dashboard:dashboard,CES-resourceGroup:资源分组,CES-qualityMonitor:质量监控 最小长度:1 最大长度:32 枚举值: CES-alarm CES-dashboard CES-resourceGroup CES-qualityMonitor
  • 响应示例 状态码: 200 请求已成功 { "total_count" : 1, "resources" : [ { "resource_id" : "806064a8-7478-4657-a8b0-2edc90621235" }, { "resource_name" : "test" }, { "resource_detail" : [ { "ca_id" : "806064a8-7478-4657-a8b0-2edc90621235", "create_time" : 1681436805000, "delete_time" : null, "crl_configuration" : { "enabled" : false, "obs_bucket_name" : null, "valid_days" : null, "crl_name" : null, "crl_dis_point" : null }, "distinguished_name" : { "country" : "CN", "state" : "guangdong", "locality" : "shenzhen", "organization" : "TestA", "organizational_unit" : "IT", "common_name" : "TestA IT Root CA" }, "enc_cert_info" : null, "enterprise_project_id" : "57d71362-6a1a-4f51-8fa9-693bc3c07f43", "freeze_flag" : 0, "gen_mode" : "GENERATE", "issuer_id" : null, "issuer_name" : null, "key_algorithm" : "SM2", "not_before" : 1681436805000, "not_after" : 1713059205000, "path_length" : 7, "serial_number" : "202203070322544291829058", "signature_algorithm" : "SM3", "status" : "ACTIVED", "type" : "ROOT" } ] }, { "tags" : [ { "key" : "key1", "value" : "value1" } ] } ] } 状态码: 400 请求参数有误。 { "error_code" : "PCA.XXX", "error_msg" : "XXX" } 状态码: 401 被请求的页面需要鉴权。 { "error_code" : "PCA.XXX", "error_msg" : "XXX" } 状态码: 403 认证失败。 { "error_code" : "PCA.XXX", "error_msg" : "XXX" } 状态码: 404 资源不存在或资源未找到。 { "error_code" : "PCA.XXX", "error_msg" : "XXX" } 状态码: 500 服务内部错误。 { "error_code" : "PCA.XXX", "error_msg" : "XXX" }
  • 请求示例 根据标签查询CA列表,请求头中的X-Auth-Token字段需要填写token,且该token需要具有本API的访问权限。 POST https://{Endpoint}/v1/private-certificate-authorities/resource-instances/filter { "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 total_count Integer 总记录数。 最小值:0 最大值:100 resources Array of TagResource objects 资源实例列表,详情请参见TagResource字段数据结构说明。 数组长度:0 - 100 表6 TagResource 参数 参数类型 描述 resource_id String 资源ID。 最小长度:0 最大长度:63 resource_detail Object 资源详情。 tags Array of ResourceTag objects 标签列表,没有标签默认为空数组。 数组长度:0 - 100 resource_name String 资源名称,默认为空字符串。 最小长度:0 最大长度:63 表7 ResourceTag 参数 参数类型 描述 key String 标签键。 可用UTF-8格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : = + - @ 最小长度:1 最大长度:128 value String 标签值。 可用UTF-8格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : / = + - @ 最小长度:0 最大长度:255 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误请求返回的错误码。 最小长度:3 最大长度:36 error_msg String 错误请求返回的错误信息。 最小长度:0 最大长度:1024 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误请求返回的错误码。 最小长度:3 最大长度:36 error_msg String 错误请求返回的错误信息。 最小长度:0 最大长度:1024 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error_code String 错误请求返回的错误码。 最小长度:3 最大长度:36 error_msg String 错误请求返回的错误信息。 最小长度:0 最大长度:1024 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error_code String 错误请求返回的错误码。 最小长度:3 最大长度:36 error_msg String 错误请求返回的错误信息。 最小长度:0 最大长度:1024 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误请求返回的错误码。 最小长度:3 最大长度:36 error_msg String 错误请求返回的错误信息。 最小长度:0 最大长度:1024
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:32 最大长度:2097152 表2 请求Body参数 参数 是否必选 参数类型 描述 tags 否 Array of DomainTags objects 标签列表。 最多包含20个key,每个key下面的value最多20个,每个key对应的value可以为空数组但结构体不能缺失。key不能重复,同一个key中values不能重复。结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。 数组长度:1 - 20 limit 否 Integer 每页条目数量,取值如下: 10:每页显示10条资源信息。 20:每页显示20条资源信息。 50:每页显示50条资源信息。 最小值:10 最大值:50 缺省值:10 offset 否 Integer 索引位置,偏移量,从offset指定的下一条数据开始查询。 最小值:0 缺省值:0 matches 否 Array of ResourceTag objects 搜索字段。 key为要匹配的字段,如resource_name等。value为匹配的值。key为固定字典值,不能包含重复的key或不支持的key。 数组长度:0 - 20 表3 DomainTags 参数 是否必选 参数类型 描述 key 是 String 标签键。 可用UTF-8格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : = + - @ 最小长度:1 最大长度:128 values 是 Array of strings 标签值列表。 每个值可用UTF-8格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : = + - @ 最小长度:0 最大长度:255 数组长度:1 - 20 表4 ResourceTag 参数 是否必选 参数类型 描述 key 是 String 标签键。 可用UTF-8格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : = + - @ 最小长度:1 最大长度:128 value 是 String 标签值。 可用UTF-8格式表示的字母(包含中文、西班牙语、葡语等)、数字和空格,以及以下字符: _ . : / = + - @ 最小长度:0 最大长度:255
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。默认en-us。 取值范围: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作标识,取值: create:表示添加标签。 delete:表示删除标签。 tags 是 Array of TagItem objects 标签列表。 表4 TagItem 参数 是否必选 参数类型 描述 key 是 String 标签键。最大长度36个unicode字符,不能为null或者空字符串,不能为空格。 字符集:0-9,A-Z,a-z,“_”,“-”,中文。 value 否 String 标签值。最大长度43个unicode字符,可以为空字符串,不能为空格。 字符集:0-9,A-Z,a-z,“_”,“.”,“-”,中文。 “action”值为“create”时,该参数必选。 “action”值为“delete”时,如果value有值,按照key-value删除,如果value没值,则按照key删除。
  • 请求示例 批量添加标签。 POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/61a4ea66210545909d74a05c27a7179ein07/tags/action { "action" : "create", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value2" } ] } 批量删除标签。 POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/61a4ea66210545909d74a05c27a7179ein07/tags/action { "action" : "delete", "tags" : [ { "key" : "key1" }, { "key" : "key2", "value" : "value2" } ] }
  • 代码示例 本示例用于通过ObsClient.setBucketTagging设置examplebucket桶的桶标签。代码展示如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.BucketTagInfo; public class SetBucketTagging001 { public static void main(String[] args) { // 您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。如果使用硬编码可能会存在泄露风险。 // 您可以登录访问管理控制台获取访问密钥AK/SK String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。 // 您可以通过环境变量获取访问密钥AK/SK/SecurityToken,也可以使用其他外部引入方式传入。 // String securityToken = System.getenv("SECURITY_TOKEN"); // endpoint填写桶所在的endpoint, 此处以华北-北京四为例,其他地区请按实际情况填写。 String endPoint = "https://obs.cn-north-4.myhuaweicloud.com"; // 您可以通过环境变量获取endPoint,也可以使用其他外部引入方式传入。 //String endPoint = System.getenv("ENDPOINT"); // 创建ObsClient实例 // 使用永久AK/SK初始化客户端 ObsClient obsClient = new ObsClient(ak, sk,endPoint); // 使用临时AK/SK和SecurityToken初始化客户端 // ObsClient obsClient = new ObsClient(ak, sk, securityToken, endPoint); try { // 设置桶标签 BucketTagInfo bucketTagInfo = new BucketTagInfo(); BucketTagInfo.TagSet tagSet = new BucketTagInfo.TagSet(); tagSet.addTag("tag1", "value1"); tagSet.addTag("tag2", "value2"); bucketTagInfo.setTagSet(tagSet); obsClient.setBucketTagging("examplebucket", bucketTagInfo); System.out.println("setBucketTagging successfully"); } catch (ObsException e) { System.out.println("setBucketTagging failed"); // 请求失败,打印http状态码 System.out.println("HTTP Code:" + e.getResponseCode()); // 请求失败,打印服务端错误码 System.out.println("Error Code:" + e.getErrorCode()); // 请求失败,打印详细错误信息 System.out.println("Error Message:" + e.getErrorMessage()); // 请求失败,打印请求id System.out.println("Request ID:" + e.getErrorRequestId()); System.out.println("Host ID:" + e.getErrorHostId()); e.printStackTrace(); } catch (Exception e) { System.out.println("setBucketTagging failed"); // 其他异常信息打印 e.printStackTrace(); } } }
  • 接口约束 每个桶最多能设置10个标签。 您必须是桶拥有者或拥有设置桶标签的权限,才能设置桶标签。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketTagging权限,如果使用桶策略则需授予PutBucketTagging权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。