华为云用户手册

  • 代码示例 本示例用于设置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 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.BucketQuota; public class SetBucketQuota001 { public static void main(String[] args) { // 您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。如果使用硬编码可能会存在泄露风险。 // 您可以登录访问管理控制台获取访问密钥AK/SK String ak = System.getenv("AC CES S_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 { // 示例桶名 String exampleBucket = "examplebucket"; // 示例桶配额 long exampleBucketQuota = 1024 * 1024 * 100L; // 设置桶配额为100MB BucketQuota quota = new BucketQuota(exampleBucketQuota); obsClient.setBucketQuota(exampleBucket, quota); System.out.println("SetBucketQuota successfully"); } catch (ObsException e) { System.out.println("SetBucketQuota 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("SetBucketQuota failed"); // 其他异常信息打印 e.printStackTrace(); } } }
  • 设置桶配额请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 bucketName String 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 bucketQuota BucketQuota 必选 参数解释: 桶的配额信息 约束限制: 详见BucketQuota 表2 BucketQuota 参数名称 参数类型 是否必选 描述 bucketQuota long 必选 参数解释: 桶的配额值。 取值范围: 非负整数,单位:字节。 默认取值: 0,表示没有限制桶配额。
  • 接口约束 桶配额值必须为非负整数,单位为字节。 OBS没有提供删除桶配额的接口,您可以将桶配额设置为0来取消配额限制。 您必须是桶拥有者或拥有设置桶配额的权限,才能设置桶配额。建议使用 IAM 或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketQuota权限,如果使用桶策略则需授予PutBucketQuota权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。
  • 功能说明 桶配额是桶容量的上限值。默认情况下,OBS系统和单个桶都没有总数据容量和对象数量的限制。您可以根据需要,为桶设置配额限制来控制桶内允许上传的对象总容量,超过设置的对象容量后,上传对象会失败。例如您为桶设置配额为100G,那么当桶内所有对象的大小总和达到100G后,再上传对象就会因为超过配额导致上传失败。 容量限制只对桶配额设置生效后的对象上传操作有影响, 如果您设置桶配额时,桶配额的数值小于桶中已上传的对象容量,并不会导致桶中已有对象被删除,但该桶后续将不能再上传任何对象。这种情况下只有删除部分已有对象,将已用空间释放到配额限制以下之后才能再次上传新对象。 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。
  • 返回结果说明 表13 ObsObject 参数名称 参数类型 描述 bucketName String 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 objectKey String 参数解释: 对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。 例如,您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。 取值范围: 长度大于0且不超过1024的字符串。 默认取值: 无 owner Owner 参数解释: 所有者,详见Owner。 metadata ObjectMetadata 参数解释: 对象元数据,详见ObjectMetadata。 objectContent InputStream 参数解释: 对象数据流。 默认取值: 无
  • 代码示例 本示例通过下载examplebucket桶中的objectname对象成功后,返回自定义元数据。示例代码如下: 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 53 54 55 56 57 58 59 60 61 62 63 64 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.GetObjectRequest; import com.obs.services.model.ObjectMetadata; import com.obs.services.model.ObsObject; import com.obs.services.model.PutObjectRequest; public class GetObject006 { 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 { // 获取自定义元数据 // 上传对象,设置自定义元数据 PutObjectRequest request = new PutObjectRequest("examplebucket", "objectname"); ObjectMetadata metadata = new ObjectMetadata(); metadata.addUserMetadata("property", "property-value"); request.setMetadata(metadata); obsClient.putObject(request); // 下载对象,获取对象自定义元数据 GetObjectRequest request1 = new GetObjectRequest("examplebucket", "objectname"); ObsObject obsObject = obsClient.getObject(request1); System.out.println("getObject successfully"); // 读取对象元数据 System.out.println(obsObject.getMetadata().getContentType()); // 获取名为property的自定义元数据 System.out.println(obsObject.getMetadata().getUserMetadata("property")); // 获取所有自定义元数据 System.out.println("allUserMetadata:" + metadata.getAllMetadata()); obsObject.getObjectContent().close(); } catch (ObsException e) { System.out.println("getObject 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("getObject failed"); // 其他异常信息打印 e.printStackTrace(); } } }
  • 接口约束 您必须是桶拥有者或拥有获取对象元数据的权限,才能获取自定义元数据。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:GetObject权限,如果使用桶策略则需授予GetObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。
  • 设置桶策略请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 bucketName String 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无 policy String 必选 参数解释: 策略信息,JSON格式的字符串。 约束限制: Policy中的Resource字段包含的桶名必须和当前设置桶策略的桶名一致。 Policy具体格式请参考Policy格式。 默认取值: 无
  • 代码示例 本示例用于设置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 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; public class SetBucketPolicy001 { 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 { // 示例桶名 String exampleBucket = "examplebucket"; // 示例桶策略 String examplePolicy = "{\"Statement\":[{\"Principal\":\"*\",\"Effect\":\"Allow\",\"Action\":\"ListBucket\",\"Resource\":\"" + exampleBucket + "\"}]}"; obsClient.setBucketPolicy(exampleBucket, examplePolicy); System.out.println("SetBucketAcl successfully"); } catch (ObsException e) { System.out.println("SetBucketAcl 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("SetBucketAcl failed"); // 其他异常信息打印 e.printStackTrace(); } } }
  • 功能说明 OBS支持对桶操作进行权限控制,您可以为桶设置访问策略,指定某一个用户对某一个桶是否有权行使某一项指定操作。OBS权限控制的方式有IAM、桶策略和ACL三种,本节将对桶策略接口进行详细介绍,更多权限相关内容可参见《对象存储服务权限配置指南》的OBS权限控制概述章节。 桶策略是作用于所配置的OBS桶及桶内对象的,您可以通过桶策略可为IAM用户或其他账号授权桶及桶内对象的操作权限。允许其他云账号访问OBS资源,可以使用桶策略的方式授权对应权限。当不同的桶对于不同的IAM用户有不同的访问控制需求时,需使用桶策略分别授权IAM用户不同的权限。 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。
  • 接口约束 创建桶和获取桶列表这两个服务级的操作权限,需要通过IAM权限配置。 由于缓存的存在,配置桶策略后,最长需要等待5分钟策略才能生效。 您必须是桶拥有者或拥有设置桶策略的权限,才能设置桶策略。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketPolicy权限,如果使用桶策略则需授予PutBucketPolicy权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。 请注意,调用设置桶策略接口时,最新一次配置会覆盖原有配置。例如,您已设置了A,B,C 和 D 四个桶策略,现需要添加新的桶策略E,则配置桶策略 E 时,需在原有四个策略的基础上添加策略 E,然后重新上传所有策略。同理,如果您需要删除桶策略 D,则需将策略 D 从原有的 A,B,C 和 D 四个策略中移除,然后重新上传策略 A,B 和C。 桶策略内容的具体格式(JSON格式字符串)请参考对象存储服务API参考。 以下两种场景无法使用此接口获取桶策略,系统将返回“404 NoSuchBucketPolicy”的错误: 指定桶的策略不存在。 指定桶的标准桶策略为私有且未设置高级桶策略。
  • 代码示例 本示例用于判断examplebucket桶里面objectname对象是否存在。 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 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; public class DoesObjectExist001 { 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 { // 判断指定的对象是否存在 System.out.println(obsClient.doesObjectExist("examplebucket", "objectname") ? "exists!" : "does not exist!"); System.out.println("doesObjectExist successfully"); } catch (ObsException e) { System.out.println("doesObjectExist 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("doesObjectExist failed"); // 其他异常信息打印 e.printStackTrace(); } } }
  • 接口约束 您必须是桶拥有者或拥有获取对象元数据的权限,才能判断对象是否存在。建议使用IAM或桶策略进行授权,如果使用IAM则需授予obs:object:GetObject权限,如果使用桶策略则需授予GetObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、配置对象策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。
  • 示例代码 本示例用于删除examplebucketname桶中exampleObjectKey对象的对象标签。 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 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.ObjectTaggingRequest; public class DeleteObjectTagging001 { 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实例 try (ObsClient obsClient = new ObsClient(ak, sk, securityToken, endPoint)) { // 删除对象标签 String bucketName = "examplebucketname"; String objectKey = "exampleObjectKey"; String objectVersionId = ""; ObjectTaggingRequest objectTaggingRequest = new ObjectTaggingRequest(bucketName, objectKey, objectVersionId, null); obsClient.deleteObjectTagging(objectTaggingRequest); System.out.println("DeleteObjectTagging successfully"); } catch (ObsException e) { System.out.println("DeleteObjectTagging 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("DeleteObjectTagging failed"); // 其他异常信息打印 e.printStackTrace(); } } }
  • 功能介绍 用户可以通过本接口删除对象(Object)的标签信息。 如果请求中不携带版本号(versionId),需要确保执行者有DeleteObjectTagging权限。如果请求中携带版本号(versionId),需要确保执行者有DeleteObjectTagging+DeleteObjectVersionTagging权限。缺省情况下只有对象的所有者可以执行此操作,也可以通过设置桶策略或用户策略给其他用户。 默认删除Object当前版本的标签信息。可以通过指定versionId参数来删除指定Object版本的标签信息。如果对应版本为删除标记(Delete Marker),则OBS将返回404 Not Found。 文件桶不支持该功能
  • 功能介绍 用户可以通过本接口获取对象(Object)的标签信息。 如果请求中不携带版本号(versionId),需要确保执行者有GetObjectTagging权限。如果请求中携带版本号(versionId),需要确保执行者有GetObjectTagging+GetObjectVersionTagging权限。缺省情况下只有对象的所有者可以执行此操作,也可以通过设置桶策略或用户策略给其他用户。 默认获取Object当前版本的标签信息。可以通过指定versionId参数来获取指定Object版本的标签信息。如果对应版本为删除标记(Delete Marker),则OBS将返回404 Not Found。 文件桶不支持该功能。
  • 请求示例 合约资产使用控制策略执行。 GET https://{endpoint}/v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/contracts/{contract_id}/policy/validation?action=DOWNLOAD&app_id=70d5c8d0-fe76-4cf0-9d30-********
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 data Boolean 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务“获取用户Token”接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:100000 x-eds-proxy-userid 否 String 如果X-Auth-Token是租户ID,那么x-eds-proxy-userid填写实际被代理的真实用户ID。 最小长度:0 最大长度:100000
  • URI GET /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/contracts/{contract_id}/policy/validation 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参考获取项目ID。 instance_id 是 String 实例ID,开通的交换数据平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定交换数据平台下连接器的ID。 获取方法请参考获取连接器ID。 contract_id 是 String 合约ID。 表2 Query参数 参数 是否必选 参数类型 描述 action 是 String 执行动作过滤: VIEW:查看 MODIFY: 加工 DOWNLOAD:下载 枚举值: VIEW MODIFY DOWNLOAD app_id 是 String 应用ID。
  • 响应示例 状态码: 200 OK 订阅Offer返回体。 { "offer_id" : "834ed288-d8e1-4b70-9ed1-6744329955a8", "offer_name" : "上架Offer测试023", "subscription_id" : "8d9dec24-3bb9-47c2-ac6f-0a3d9e308d5a", "subscription_reason" : "同意一下", "status" : "WAIT_TO_APPROVE", "create_time" : "2023-12-07T09:11:36Z", "creator" : "0574abfba400d2a91f5ec01111a89fcf" }
  • 请求示例 订阅Offer。 POST https://{endpoint}/v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/subscriptions { "asset_id" : "834ed288-d8e1-4b70-9ed1-************", "subscription_reason" : "订阅", "use_control_policie" : [ { "action" : "VIEW", "how_many" : null, "where" : { "device_ip" : [ ], "device_mac" : [ ] }, "who" : [ ], "user_type" : null, "application" : [ "dae4237f-9880-4fb9-a618-************" ], "additional_attributes" : { } } ] }
  • 响应参数 状态码: 200 表8 响应Body参数 参数 参数类型 描述 offer_id String Offer ID。 offer_name String Offer名称。 subscription_id String 订阅返回ID。 subscription_reason String 订阅理由。 status String 订阅状态: WAIT_TO_DEAL:待处理 HAS_DEAL:已处理 CLOSED:已关闭 WAIT_TO_APPROVE:待审批 REJECTED:已驳回 PASSED:已通过 REVOKED:已撤销 WAIT_TO_OPEN:待开通 枚举值: WAIT_TO_DEAL HAS_DEAL CLOSED WAIT_TO_APPROVE REJECTED PASSED REVOKED WAIT_TO_OPEN create_time String 创建时间。 creator String 创建人。 状态码: 400 表9 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务“获取用户Token”接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 asset_id 是 String 订阅资产ID。 subscription_reason 是 String 订阅理由。 只能包含英文字母,数字,下划线,中文及-,并且只能以中文和英文开头,最大长度不超过255。 最小长度:1 最大长度:255 use_control_policies 是 Array of UseControlPoliciesInner objects 合约使用控制策略列表。 表4 UseControlPoliciesInner 参数 是否必选 参数类型 描述 action 是 String 执行动作过滤: VIEW:查看 MODIFY:加工 DOWNLOAD:下载 枚举值: VIEW MODIFY DOWNLOAD when 是 TimeInterval object 限制使用时间。 how_many 否 Integer 限制使用次数。 参数校验规则:最小值1,最大值10000。 who 是 Array of strings 限制用户/团队列表。(目前不支持多个用户或者团队) user_type 否 String 限制用户类型。(团队订阅时who和user_type必填) USER :指定用户 TEAM :指定团队 枚举值: USER TEAM application 是 Array of strings 限制应用列表。 additional_attributes 否 DatabaseAttributes object 策略的扩展属性。 表5 TimeInterval 参数 是否必选 参数类型 描述 start_time 否 String 起始时间,UTC时间格式。 end_time 否 String 截止时间,UTC时间格式。 表6 DatabaseAttributes 参数 是否必选 参数类型 描述 column 否 String 可见列。 rows 否 Array of RowDTO objects 可见行。 表7 RowDTO 参数 是否必选 参数类型 描述 column_name 否 String 参数名称,需要与condition、value配合生效。 condition 否 String 参数条件,需要与column_name、value配合生效。 value 否 String 参数条件值,需要与column_name、condition配合生效。
  • URI POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/subscriptions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参考获取项目ID。 instance_id 是 String 实例ID,开通的交换数据平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定交换数据平台下连接器的ID。 获取方法请参考获取连接器ID。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 data Array of SubscriptionResponse objects 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表5 SubscriptionResponse 参数 参数类型 描述 offer_id String Offer ID。 offer_name String Offer名称。 subscription_id String 订阅返回ID。 subscription_reason String 订阅理由。 status String 订阅状态: WAIT_TO_APPROVE:待审批 REJECTED:已驳回 PASSED:已通过 REVOKED:已撤销 枚举值: WAIT_TO_APPROVE REJECTED PASSED REVOKED create_time String 创建时间。 creator String 创建人。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • 响应示例 状态码: 200 OK 订阅列表。 { "data" : [ { "offer_id" : "6168c382-5184-4ec8-8a04-************", "offer_name" : "offer-mysql-20231129AA", "subscription_id" : "90bedec2-2efc-41d4-8223-************", "subscription_reason" : "Subscribe by OpenApi.", "status" : "WAIT_TO_APPROVE", "create_time" : "2023-12-01T17:53:03Z", "creator" : "************" }, { "offer_id" : "b74b4c6b-0c00-4a9d-86c3-************", "offer_name" : "offer-mysql-20231129AA", "subscription_id" : "7343b305-75f9-4979-ade0-************", "subscription_reason" : "Subscribe by OpenApi.", "status" : "WAIT_TO_APPROVE", "create_time" : "2023-12-01T17:47:23Z", "creator" : "************" } ], "total" : 2, "error_code" : null, "error_msg" : null }
  • URI GET /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/subscriptions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参考获取项目ID。 instance_id 是 String 实例ID,开通的交换数据平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定交换数据平台下连接器的ID。 获取方法请参考获取连接器ID。 表2 Query参数 参数 是否必选 参数类型 描述 subscription_id 否 String 订阅ID。 参数校验规则:最小长度1,最大长度50,匹配字母、数字和符号-。 status 否 String 审批状态。 offset 否 Integer 偏移量,表示从此偏移量开始查询,offset大于等于0。 最小值:0 最大值:999999 缺省值:0 limit 否 Integer 每页显示条目数量,最大数量999,超过999后只返回999(防止单页返回过大)。 最小值:1 最大值:999 缺省值:10
  • 响应示例 状态码: 200 OK 订阅待审批列表。 { "data" : [ { "offer_id" : "6e2ab6d7-5f19-4097-a074-************", "offer_name" : "offer-mysql-20231129AA", "subscription_id" : "7343b305-75f9-4979-ade0-************", "subscription_reason" : "Subscribe by OpenApi.", "status" : "WAIT_TO_APPROVE", "create_time" : "2023-12-01T17:47:23Z", "creator" : "************" } ], "total" : 1, "error_code" : null, "error_msg" : null }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 data Array of SubscriptionResponse objects 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表5 SubscriptionResponse 参数 参数类型 描述 offer_id String Offer ID。 offer_name String Offer名称。 subscription_id String 订阅返回ID。 subscription_reason String 订阅理由。 status String 订阅状态: WAIT_TO_DEAL:待处理 HAS_DEAL:已处理 CLOSED:已关闭 WAIT_TO_APPROVE:待审批 REJECTED:已驳回 PASSED:已通过 REVOKED:已撤销 WAIT_TO_OPEN:待开通 枚举值: WAIT_TO_DEAL HAS_DEAL CLOSED WAIT_TO_APPROVE REJECTED PASSED REVOKED WAIT_TO_OPEN create_time String 创建时间。 creator String 创建人。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 data Object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
共100000条