华为云用户手册

  • URI GET /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/artifacts/used-count 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参考获取项目ID。 instance_id 是 String 实例ID,开通的数据交换平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定数据交换平台下连接器的ID。 获取方法请参考获取连接器ID。 表2 Query参数 参数 是否必选 参数类型 描述 contract_id 是 String 合约ID。
  • API概览 交换数据空间 服务接口的分类与说明如表1所示。 表1 API概览 类型 说明 offer管理 包括搜索offer列表、查询offer详情等接口。 订阅管理 包括订阅offer、我的订阅等接口。 合约管理 提供查询合约、提交合约、终止合约等接口。 应用管理 提供新增应用、查询应用模板列表等接口。 资产管理 提供下载文件、资产使用次数统计等接口。 审计日志 提供查询数据资产的审计日志列表、查询数据资产统计列表等接口。 实例管理 提供实例添加客租户、查询用户实例列表等接口。 连接器管理 提供查询连接器列表、查询用户连接器列表等接口。 团队管理 提供查询指定连接器下的团队列表的接口。 用户管理 提供添加连接器用户、从连接器移除用户等接口。
  • 请求示例 新增应用。 POST https://{endpoint}/v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/applications { "type" : "UNSTRUCTURED", "name" : "OBS-APP-TEST", "temp_id" : "335ac118-758e-4324-9d41-************", "icon" : "icon: data:image/png;base64,iVBORw0KGgoAAAAN*** // ***代表省略的图标编码", "description" : "test", "connection" : { "datasource_type" : "OBS", "connection" : { "obs_connection" : { "endpoint" : "obs.************.huawei.com", "bucket_name" : "obs-***", "access_key" : "QA**************", "secret_key" : "8X**************", "path" : "obs-test/folder1" } } } }
  • 响应示例 状态码: 200 OK 新增应用返回体。 { "data" : { "type" : "UNSTRUCTURED", "name" : "OBS-APP-TEST", "id" : "22c59dd8-12ef-4ead-94ff-************", "temp_id" : "335ac118-758e-4324-9d41-************", "temp_name" : "文档下载", "natives" : false, "operation" : [ "DOWNLOAD" ], "description" : "abc", "icon" : "icon: data:image/png;base64,iVBORw0KGgoAAAAN*** // ***代表省略的图标编码", "connection" : { "datasource_type" : "OBS", "connection" : null }, "create_user_id" : "test-***********", "create_user_name" : "test-***********", "create_date" : "2023-12-05T18:27:52Z" }, "total" : 1, "error_code" : null, "error_msg" : null }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 data AppInfo object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表8 AppInfo 参数 参数类型 描述 type String 实例化的应用类型: STRUCTURED:支持jdbc、csv下载 TRUSTED_ENV:支持可信环境下载 LOCAL_DOWN:支持本地下载 LUCKY_EXCEL:支持excel本地预览 UNSTRUCTURED:支持 obs sftp ftp下载 PDF_JS:支持pdf本地预览 STRUCTURED_VIEW:支持csv jdbc本地预览 WPS:wps应用 IMAGE_VIEWER:本地图片查看 枚举值: STRUCTURED TRUSTED_ENV LOCAL_DOWN LUCKY_EXCEL UNSTRUCTURED PDF_JS STRUCTURED_VIEW WPS IMAGE_VIEWER name String 应用名称。 id String 应用ID。 temp_id String 应用模板ID。 temp_name String 应用模板名称。 natives Boolean 是否内置应用, true内置,false用户自创。 operation Array of strings 应用操作。 枚举值: VIEW PRO CES S DOWNLOAD description String 应用描述。 icon String 应用图标。 connection DataSourceConnect object 应用连接信息。 create_user_id String 创建人ID。 create_user_name String 创建人名称。 create_date String 创建时间。 表9 DataSourceConnect 参数 参数类型 描述 datasource_type String 数据源类型。 枚举值: MRS _HIVE ORACLE MYSQL DWS GAUSS_DB FTP SFTP OBS WPS API connection DataSourceConnection object 数据源连接信息。 表10 DataSourceConnection 参数 参数类型 描述 obs_connection ObsConnection object OBS数据源连接信息。 表11 ObsConnection 参数 参数类型 描述 endpoint String OBS访问地址。 bucket_name String OBS名称。 access_key String OBS永久访问密钥。 secret_key String OBS永久密钥。 path String OBS访问路径。 状态码: 400 表12 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表13 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • URI POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/applications 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参考获取项目ID。 instance_id 是 String 实例ID,开通的数据交换平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定数据交换平台下连接器的ID。 获取方法请参考获取连接器ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 type 是 String 应用模板类型: STRUCTURED:支持jdbc、csv下载 TRUSTED_ENV:支持可信环境下载 LOCAL_DOWN:支持本地下载 LUCKY_EXCEL:支持excel本地预览 UNSTRUCTURED:支持 obs sftp ftp下载 PDF_JS:支持pdf本地预览 STRUCTURED_VIEW:支持csv jdbc本地预览 WPS:wps应用 IMAGE_VIEWER:本地图片查看 枚举值: STRUCTURED TRUSTED_ENV LOCAL_DOWN LUCKY_EXCEL UNSTRUCTURED PDF_JS STRUCTURED_VIEW WPS IMAGE_VIEWER name 是 String 应用名称。 temp_id 是 String 应用模板ID。 description 否 String 应用描述。 icon 否 String 应用图标。 connection 是 DataSourceConnect object 数据源连接信息。 表4 DataSourceConnect 参数 是否必选 参数类型 描述 datasource_type 否 String 数据源类型。 枚举值: OBS connection 是 DataSourceConnection object 数据源连接信息。 表5 DataSourceConnection 参数 是否必选 参数类型 描述 obs_connection 否 ObsConnection object OBS数据源连接信息。 表6 ObsConnection 参数 是否必选 参数类型 描述 endpoint 否 String OBS访问地址。 参数校验规则:最小长度1,最大长度1000,匹配域名正则表达式。 bucket_name 否 String OBS名称。 参数校验规则:最小长度1,最大长度100,匹配字母、数字、下划线、.及-。 access_key 否 String OBS永久访问密钥。 参数校验规则:最大长度1024。 secret_key 否 String OBS永久密钥。 参数校验规则:最大长度1024。 path 否 String OBS访问路径。 参数校验规则:最小长度1,最大长度100,只能包含英文字母、数字、下划线、中文、/、\及-。
  • 响应示例 状态码: 200 OK 用户操作结果。 { "data": { "headers": {}, "body": { "data": "success", "total": 0, "error_code": null, "error_msg": null }, "statusCode": "OK", "statusCodeValue": 200 }, "total": 0, "error_code": null, "error_msg": null }
  • 请求示例 点对点发送合约 POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/contracts/point-to-point { "contract_description" : "合约描述", "approver_id" : "******", "contract_name" : "点对点发送合约", "file_assets" : [ { "artifact_ids" : [ "f21e5c1e-ec9b******" ], "data_resource_id" : "7da43bc2-c301******" } ], "connector_policies" : [ { "connector_id" : "2747e1be-dba2*****", "policy_json" : { "view" : { "enable" : true, "times" : 100, "app" : "321ac118-758e******" }, "modify" : { "enable" : false, "times" : "", "app" : "" }, "download" : { "enable" : true, "times" : 100, "app" : "234c118-758e******" }, "approval" : { "enable" : false }, "terminate" : { "enable" : true }, "use" : { "users" : "******", "teams" : "", "timeInterval" : { "startTime" : "2023-12-11T16:25:27Z", "endTime" : "2024-01-10T16:25:27Z" } }, "database" : { "column" : "", "rows" : [ ] } } } ] }
  • 响应参数 状态码: 200 表17 响应Body参数 参数 参数类型 描述 data String 返回"success"。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表18 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表19 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 contract_name 是 String 合约名称。 参数校验规则:只能包含英文字母,数字,下划线,中文及-,并且只能以中文和英文开头,最小长度1,最大长度100。 contract_description 否 String 合约描述。 参数校验规则:最大长度500。 connector_policies 是 Array of ConnectorPolicyVO objects 每个连接器对应的策略信息。 approver_id 是 String 点对点审批人。 参数校验规则:最小长度1,最大长度50,匹配字母数字和符号-。 file_assets 是 Array of FileAsset objects 多资产id。 表4 ConnectorPolicyVO 参数 是否必选 参数类型 描述 connector_id 是 String 连接器ID。 policy_json 是 PolicyJsonRequest object 数据使用策略。 表5 PolicyJsonRequest 参数 是否必选 参数类型 描述 view 是 ViewDTO object 查看策略。 modify 是 ModifyDTO object 修改策略。 terminate 是 TerminateDTO object 终止策略。 approval 是 ApprovalDTO object 审批策略。 download 是 DownloadDTO object 下载策略。 use 是 UseDTO object 使用对象策略。 database 是 DatabaseDTO object 数据库策略。 表6 ViewDTO 参数 是否必选 参数类型 描述 enable 是 Boolean 是否允许。 times 否 String 次数,仅当enable参数为true时生效。 app 否 String 应用,仅当enable参数为true时生效。 表7 ModifyDTO 参数 是否必选 参数类型 描述 enable 是 Boolean 是否允许。 times 否 String 次数,仅当enable参数为true时生效。 app 否 String 应用,仅当enable参数为true时生效。 表8 TerminateDTO 参数 是否必选 参数类型 描述 enable 是 Boolean 是否允许。 表9 ApprovalDTO 参数 是否必选 参数类型 描述 enable 是 Boolean 是否允许。 表10 DownloadDTO 参数 是否必选 参数类型 描述 enable 是 Boolean 是否允许。 times 否 String 次数,仅当enable参数为true时生效。 app 否 String 应用,仅当enable参数为true时生效。 表11 UseDTO 参数 是否必选 参数类型 描述 users 是 String 使用人,与teams字段二选一填入。 teams 是 String 使用团队,与users字段二选一填入。 timeInterval 是 TimeIntervalDTO object 时间区间。 表12 TimeIntervalDTO 参数 是否必选 参数类型 描述 startTime 是 String 开始时间, 需要与endTime配合生效。 endTime 是 String 结束时间,需要与startTime配合生效。 表13 DatabaseDTO 参数 是否必选 参数类型 描述 column 是 String 列过滤策略。 rows 是 Array of RowDTO objects 行过滤策略。 表14 RowDTO 参数 是否必选 参数类型 描述 column_name 否 String 参数名称,需要与condition、value配合生效。 condition 否 String 参数条件,需要与conlumn_name、value配合生效。 value 否 String 参数条件值,需要与column_name、condition配合生效。 表15 FileAsset 参数 是否必选 参数类型 描述 data_resource_id 是 String 数据资源id。 file_path 否 String 文件路径。 artifact_ids 是 Array of strings 资源下的文件id集合。 mask_sensitive 否 Array of ConnDataAttributeRangeVO objects 结构化文件的脱敏规则。 表16 ConnDataAttributeRangeVO 参数 是否必选 参数类型 描述 uid 否 String 主键。 data_resource_id 否 String 数据资源ID。 data_artifact_id 否 String 数据资产ID。 data_contract_id 否 String 数据合约ID。 data_offer_id 否 String 数据offerID。 attribute_code 否 String 属性编码。 reserve_head_len 否 Integer 字段脱敏-首端保留长度。 最小值:0 最大值:5000 reserve_tail_len 否 Integer 字段脱敏-尾端保留长度。 最小值:0 最大值:5000 replace_character 否 String 字段脱敏-敏感信息替换字符。
  • URI POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/contracts/point-to-point 表1 路径参数 参数 是否必选 参数类型 描述 instance_id 是 String 实例ID,开通的数据交换平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定数据交换平台下连接器的ID。 获取方法请参考获取连接器ID。 project_id 是 String 项目ID。 获取方法请参考获取项目ID。
  • 响应示例 状态码: 200 OK offer详情 { "data" : { "offer_id" : "321fd67b-ceba-4638-b54a-************", "offer_name" : "Offer20231121AD_EXCEL", "offer_type" : 2, "need_approval" : false, "can_terminate" : true, "ownered_company_name" : null, "ownered_company_id" : null, "ownered_connector_name" : "连接器A", "ownered_connector_id" : "b40b0d94-3201-4687-93aa-************", "offer_creator_name" : null, "offer_creator_id" : null, "offer_description" : "a", "offer_followed_info" : { "offer_subscription" : true, "offer_favorite" : true, "offer_subscription_num" : 1, "offer_favorite_num" : 0, "offer_view_num" : 1 }, "mask_sensitive" : null, "use_control_policies_template" : [ { "action" : "VIEW", "when" : { "start_time" : "2023-11-21T16:25:27Z", "end_time" : "2023-12-21T16:25:27Z" }, "how_many" : null, "where" : [ ], "who" : [ ], "user_type": null, "application" : [ "321ac118-758e-4324-9d41-************" ], "additional_attributes" : { "column": null, "rows": null } }, { "action" : "DOWNLOAD", "when" : { "start_time" : "2023-11-21T16:25:27Z", "end_time" : "2023-12-21T16:25:27Z" }, "how_many" : null, "where" : [ ], "who" : [ ], "user_type": null, "application" : [ "dae4237f-9880-4fb9-a618-************" ], "additional_attributes" : { "column": null, "rows": null } } ] }, "total" : 0, "error_code" : null, "error_msg" : null }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 data OfferSummary object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表4 OfferSummary 参数 参数类型 描述 offer_id String Offer ID。 offer_name String Offer名称。 offer_type Integer Offer公开范围:公开-1、受控-2。 need_approval Boolean 是否需要审批。 注:开启【需要审批】后,下载合约资源的加工产物时需要审批。 can_terminate Boolean 是否允许提供方删除数据。 ownered_company_name String Offer所属的企业,即所属租户名。 ownered_company_id String Offer所属的企业ID,即所属租户ID。 ownered_connector_name String Offer所属的连接器,即所属连接器名。 ownered_connector_id String Offer所属的连接器ID,即所属连接器id。 offer_creator_name String Offer创建者名称。 offer_creator_id String Offer创建者ID。 offer_description String Offer描述。 offer_followed_info OfferFollowed object Offer引用信息。 mask_sensitive Array of MaskSensitive objects 结构化数据列脱敏信息。 use_control_policies_template Array of UseControlPoliciesInner objects 合约使用控制策略列表。 表5 OfferFollowed 参数 参数类型 描述 offer_subscription Boolean Offer订阅状态。 offer_favorite Boolean Offer收藏状态。 offer_subscription_num Integer Offer订阅次数。 offer_favorite_num Integer Offer收藏次数。 offer_view_num Integer Offer查看次数。 表6 MaskSensitive 参数 参数类型 描述 attribute_code String 属性code。 reserve_head_len Integer 首端保留长度。 reserve_tail_len Integer 尾端保留长度。 表7 UseControlPoliciesInner 参数 参数类型 描述 action String 执行动作过滤: VIEW:查看 MODIFY:加工 DOWNLOAD:下载 枚举值: VIEW MODIFY DOWNLOAD when TimeInterval object 限制使用时间。 how_many Integer 限制使用次数。 where Array of strings 限制地点列表。 who Array of strings 限制用户列表。 application Array of strings 限制应用模板id列表。 additional_attributes DatabaseAttributes object 策略的扩展属性。 user_type String 限制用户类型。 USER :指定用户 TEAM :指定团队 枚举值: USER TEAM 表8 TimeInterval 参数 参数类型 描述 start_time String 起始时间。 end_time String 截止时间。 表9 DatabaseAttributes 参数 参数类型 描述 column String 可见行。 rows Arrays of RowDTO 可见列。 表10 RowDTO 参数 参数类型 描述 column_name String 参数名称。 condition String 参数条件。 value String 参数条件值。 状态码: 400 表11 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表12 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/broker/offers/{offer_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方法请参考获取项目ID。 instance_id 是 String 实例ID,开通的数据交换平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定数据交换平台下连接器的ID。 获取方法请参考获取连接器ID。 offer_id 是 String Offer ID。 参数校验规则:最小长度1,最大长度100。
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 状态码 错误码 错误信息 描述 处理措施 400 EDS.00031001 Invalid parameter 无效的参数。 检查参数是否正确。 400 EDS.00031002 User does not have permission 用户无权限。 检查用户是否有操作API或者资源的权限。 400 EDS.00031601 The eds instance does not exist 实例不存在。 检查实例ID是否正确。 400 EDS.00031603 User does not join eds instance 用户未加入实例。 确认用户是否加入实例。 400 EDS.00032201 Get iam users failed 获取IAM用户失败。 联系客服寻求帮助。 400 EDS.00032202 User does not owner of the connector 用户不是连接器所有者。 检查用户是否有操作API或者资源的权限。 400 EDS.00032203 Query user failed 查询用户信息失败。 联系客服寻求帮助。 403 EDS.00012301 Domain does not allow to access OpenAPI 租户不允许访问OpenAPI。 联系客服申请访问OpenAPI。 403 EDS.00031602 Instance does not belong domain 实例不属于租户。 检查用户所属租户是否是实例所属者。 400 EDS.00031013 Offer number exceeds upper limit 选中的Offer数量超出限制。 检查选中的Offer数量是否 超出限制。 400 EDS.00031014 Invalid parameter : project_id 项目ID与Token不匹配。 检查项目ID是否正确。 400 EDS.00031015 Invalid parameter : instance_id 无效的实例ID。 检查实例id是否正确。 400 EDS.00031016 Invalid instance id and connector id pair 无效的实例、连接器ID组合。 检查实例和连接器ID是否有所属关系。 400 EDS.00031017 Method parameter type does not match 参数类型不匹配。 检查参数类型是否匹配。 400 EDS.00031018 convert time format error 转换时间格式错误。 联系客服寻求帮助。 400 EDS.00031020 Invalid tenant_id 无效的租户ID。 检查租户ID是否正确。 父主题: 附录
  • 响应示例 状态码: 200 OK 提交合约返回结构体。 { "data" : { "contract_id" : "AGRTconnector-****3b53a05caccd4c53b509************", "contract_name" : "测试合约3", "result_code" : "SUCCESS", "result_description" : "success" }, "total" : 0, "error_code" : null, "error_msg" : null }
  • 响应参数 状态码: 200 表8 响应Body参数 参数 参数类型 描述 data ContractResult object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表9 ContractResult 参数 参数类型 描述 contract_id String 合约ID。 contract_name String 合约名称。 result_code String 操作结果返回码: SUCCESS:操作成功 FAILED:操作失败 枚举值: SUCCESS FAILED result_description String 操作结果描述。 状态码: 400 表10 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表11 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • 请求示例 提交合约。 POST https://{endpoint}/v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/contracts { "contract_name" : "测试合约3", "approver_id" : "************", "offer_id" : "fbf85846-3782-46dc-affb-************", "owner_connector_id" : "b40b0d94-3201-4687-93aa-************", "subscribe_connector_id" : "c1bf9bd7-52fc-435b-ae55-************", "subscriber_id" : "************", "need_approval" : false, "can_terminate" : true, "use_control_policies" : [ { "action" : "VIEW", "when" : { "start_time" : "2023-11-16T18:18:14Z", "end_time" : "2023-12-16T18:18:14Z" }, "how_many" : null, "where" : [ ], "who" : [ "************" ], "user_type" : null, "application" : [ "321ac118-758e-4324-9d41-************" ], "additional_attributes" : { "column" : "id,category", "rows" : [ { "column_name" : "id", "condition" : "!=", "value" : "1" } ] } }, { "action" : "DOWNLOAD", "when" : { "start_time" : "2023-11-16T18:18:14Z", "end_time" : "2023-12-16T18:18:14Z" }, "how_many" : null, "where" : [ ], "who" : [ "************" ], "user_type" : null, "application" : [ "dae4237f-9880-4fb9-a618-************" ], "additional_attributes" : { "column": null, "rows": null } }, { "action" : "MODIFY", "when" : { "start_time" : "2023-11-16T18:18:14Z", "end_time" : "2023-12-16T18:18:14Z" }, "how_many" : null, "where" : [ ], "who" : [ "************" ], "user_type" : null, "application" : [ "dae4237f-9880-4fb9-a618-************" ], "additional_attributes" : { "column": null, "rows": null } } ], "contract_description" : "OpenApi demo." }
  • URI POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/contracts 表1 路径参数 参数 是否必选 参数类型 描述 instance_id 是 String 实例ID,开通的数据交换平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定数据交换平台下连接器的ID。 获取方法请参考获取连接器ID。 project_id 是 String 项目ID。 获取方法请参考获取项目ID。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 contract_name 是 String 合约名称。 contract_description 否 String 合约描述。 owner_connector_id 是 String 提供者连接器ID。 subscribe_connector_id 是 String 订阅连接器ID。 subscriber_id 是 String 订阅人ID。 approver_id 是 String 审批人ID。 offer_id 是 String Offer ID。 need_approval 是 Boolean 是否需要审批。 注:开启【需要审批】后,下载合约资源的加工产物时需要审批。 can_terminate 是 Boolean 是否允许提供方删除数据。 use_control_policies 是 Array of UseControlPoliciesInner objects 合约使用控制策略列表。 表4 UseControlPoliciesInner 参数 是否必选 参数类型 描述 action 是 String 执行动作过滤: VIEW:查看 MODIFY:加工 DOWNLOAD:下载 枚举值: VIEW MODIFY DOWNLOAD when 是 TimeInterval object 限制使用时间。 how_many 否 Integer 限制使用次数。 where 否 Array of strings 限制地点列表。 who 是 Array of strings 限制用户列表。 application 是 Array of strings 限制应用列表。 additional_attributes 否 DatabaseAttributes object 策略的扩展属性。 user_type 是 String 限制用户类型。 USER :指定用户 TEAM :指定团队 枚举值: USER TEAM 表5 TimeInterval 参数 参数类型 描述 start_time String 起始时间。 end_time String 截止时间。 表6 DatabaseAttributes 参数 参数类型 描述 column String 可见行。 rows Arrays of RowDTO 可见列。 表7 RowDTO 参数 参数类型 描述 column_name String 参数名称。 condition String 参数条件。 value String 参数条件值。
  • 响应示例 状态码: 200 OK Offer详情。 { "data" : { "offer_id" : "fbf85846-3782-46dc-affb-************", "offer_name" : "offer-mysql-20231129AA", "offer_status" : "ON_BOARD", "offer_resources" : [ { "resource_id" : "25546208-0854-49a0-9023-************", "resource_title" : "mysqlteset20231120184721", "resource_type" : null, "resource_category" : null } ], "need_approval" : false, "can_terminate" : true, "use_control_policies_template" : [ { "action" : "VIEW", "when" : { "start_time" : "2023-11-29T10:19:03Z", "end_time" : "2023-12-29T10:19:03Z" }, "how_many" : null, "where" : [ ], "who" : [ ], "user_type": null, "application" : [ "22aac118-d58e-4324-9d41-************" ], "additional_attributes" : { "column" : "id,animal_name,category", "rows": null } }, { "action" : "DOWNLOAD", "when" : { "start_time" : "2023-11-29T10:19:03Z", "end_time" : "2023-12-29T10:19:03Z" }, "how_many" : null, "where" : [ ], "who" : [ ], "user_type": null, "application" : [ "dae4237f-9880-4fb9-a618-************" ], "additional_attributes" : { "column" : "id,animal_name,category", "rows": null } } ], "mask_sensitive" : [ { "attribute_code" : "animal_name", "reserve_head_len" : 1, "reserve_tail_len" : 1 } ] }, "total" : 0, "error_code" : null, "error_msg" : null }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 data OfferDetail object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表4 OfferDetail 参数 参数类型 描述 offer_id String Offer ID。 offer_name String offer名称。 offer_status String offer状态: APPROVING: 审批中 APPROVE_REJECTED:审批拒绝 ON_BOARDING:上架中 ON_BOARD:已上架 ON_BOARD_FAILED:上架失败 OFF_BOARDING:下架中 OFF_BOARD:已下架 OFF_BOARD_FAILED:下架失败 枚举值: APPROVING APPROVE_REJECTED ON_BOARDING ON_BOARD ON_BOARD_FAILED OFF_BOARDING OFF_BOARD OFF_BOARD_FAILED offer_resources Array of OfferResource objects offer关联的资源信息。 数组长度:0 - 9999 need_approval Boolean 是否需要审批。 注:开启【需要审批】后,下载合约资源的加工产物时需要审批。 can_terminate Boolean 是否允许提供方删除数据。 use_control_policies_template Array of UseControlPoliciesInner objects 合约使用控制策略列表。 mask_sensitive Array of MaskSensitive objects 结构化数据列脱敏信息。 表5 OfferResource 参数 参数类型 描述 resource_id String 资源ID。 resource_title String 资源名称。 resource_type String 资源的文件类型。 resource_category String 资源分类: DATASET: 数据集 FILE:文件 枚举值: DATASETS FILE 表6 UseControlPoliciesInner 参数 参数类型 描述 action String 执行动作过滤: VIEW:查看 MODIFY:加工 DOWNLOAD:下载 枚举值: VIEW MODIFY DOWNLOAD when TimeInterval object 限制使用时间。 how_many Integer 限制使用次数。 where Array of strings 限制地点列表。 who Array of strings 限制用户列表。 application Array of strings 限制应用模板id列表。 additional_attributes DatabaseAttributes object 策略的扩展属性。 user_type String 限制用户类型。 USER :指定用户 TEAM :指定团队 枚举值: USER TEAM 表7 MaskSensitive 参数 参数类型 描述 attribute_code String 属性code。 reserve_head_len Integer 首端保留长度。 reserve_tail_len Integer 尾端保留长度。 表8 TimeInterval 参数 参数类型 描述 start_time String 起始时间。 end_time String 截止时间。 表9 DatabaseAttributes 参数 参数类型 描述 column String 可见行。 rows Arrays of RowDTO 可见列。 表10 RowDTO 参数 参数类型 描述 column_name String 参数名称。 condition String 参数条件。 value String 参数条件值。 状态码: 400 表11 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表12 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/offers/{offer_id} 表1 路径参数 参数 是否必选 参数类型 描述 instance_id 是 String 实例ID,开通的数据交换平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定数据交换平台下连接器的ID。 获取方法请参考获取连接器ID。 offer_id 是 String Offer ID。 参数校验规则:最小长度1,最大长度50,匹配字母数字和符号-。 project_id 是 String 项目ID。 获取方法请参考获取项目ID。
  • 响应参数 状态码: 200 表16 响应Body参数 参数 参数类型 描述 data String 返回offer_id。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表17 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表18 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
  • 请求示例 上架offer POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/offers { "data_resource_list": [{ "data_resource_id": "ab775d2***********b-17317168794e", "data_artifact_id": "f53e7e6e-8*********a4a7cdc3887b", "make_sensitive": [{ "attribute_code": "ID", "reserve_head_len": "3", "reserve_tail_len": "4" }] }], "approver_id": "*****************", "publish_type": "FULL_PUBLIC", "offer_name": "Offer002", "offer_description": "123", "subscription_type": "CONTROLLED_DATA", "policy_json": { "view": { "enables": "true", "times": "1", "app": "2***************1-3338f82c0700" }, "modify": { "enable": "false", "times": "", "app": "" }, "terminate": { "enable": "true" }, "approval": { "enable": "true" }, "download": { "enable": "true", "times": "2", "app": "306******************646d520280,215c118-***************-3338f82c0700,335ac1*************38f82c0700" }, "use": { "users": "", "teams": "", "timeInterval": { "startTime": "2024-02-01T14:46:57Z", "endTime": "2024-03-02T14:46:57Z" } }, "database": { "rows": [{ "column_name": "ID", "condition": "!=", "value": "123" }], "column": "ID,NAME,DESCRIPTION" } }, "target_ids": [ "" ], "app_item_url": "/approvalDetail?offerId=", "can_terminate": "Y" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 data_resource_list 是 Array of DataSource objects 数据源列表。 approver_id 是 String 审批人ID。 publish_type 是 String 发布类型。 枚举值: FULL_PUBLIC SPECIFY_SPACE_EXPOSURE SPACE_GROUP_PUBLIC HIDDEN_OFFER_DESCRIPTION offer_name 是 String 邀约名称。 参数校验规则:只能包含英文字母,数字,下划线,中文及-,并且只能以中文和英文开头,最小长度1,最大长度100。 offer_description 否 String 邀约描述。 参数校验规则:最大长度500。 subscription_type 是 String 订阅类型。 枚举值: OPEN_DATA CONTROLLED_DATA policy_json 是 PolicyJsonRequest object 数据使用策略。 target_ids 否 Array of strings 目标ID列表。 app_item_url 否 String app的url。 can_terminate 是 String 是否允许提供方删除数据。 参数校验规则:只能"N"或"Y"。 表4 DataSource 参数 是否必选 参数类型 描述 data_resource_id 是 String 数据源ID。 参数校验规则:最小长度1,最大长度50,匹配字母数字和符号-。 data_artifact_id 是 String 数据组件ID。 参数校验规则:最小长度1,最大长度50,匹配字母数字和符号-。 mask_sensitive 否 Array of MaskSensitive objects 脱敏列信息。 表5 MaskSensitive 参数 是否必选 参数类型 描述 attribute_code 否 String 属性code。 reserve_head_len 否 Integer 首端保留长度。 reserve_tail_len 否 Integer 尾端保留长度。 表6 PolicyJsonRequest 参数 是否必选 参数类型 描述 view 否 ViewDTO object 查看策略。 modify 否 ModifyDTO object 修改策略。 terminate 否 TerminateDTO object 终止策略。 approval 否 ApprovalDTO object 审批策略。 download 否 DownloadDTO object 下载策略。 use 是 UseDTO object 使用对象策略。 database 否 DatabaseDTO object 数据库策略。 表7 ViewDTO 参数 是否必选 参数类型 描述 enable 否 Boolean 是否允许。 times 否 String 次数,仅当enable参数为true时生效。 app 否 String 应用,仅当enable参数为true时生效。 表8 ModifyDTO 参数 是否必选 参数类型 描述 enable 否 Boolean 是否允许。 times 否 String 次数,仅当enable参数为true时生效。 app 否 String 应用,仅当enable参数为true时生效。 表9 TerminateDTO 参数 是否必选 参数类型 描述 enable 是 Boolean 是否允许。 表10 ApprovalDTO 参数 是否必选 参数类型 描述 enable 否 Boolean 是否允许。 表11 DownloadDTO 参数 是否必选 参数类型 描述 enable 否 Boolean 是否允许。 times 否 String 次数,仅当enable参数为true时生效。 app 否 String 应用,仅当enable参数为true时生效。 表12 UseDTO 参数 是否必选 参数类型 描述 users 否 String 使用人。 teams 否 String 使用团队。 timeInterval 是 TimeIntervalDTO object 时间区间。 表13 TimeIntervalDTO 参数 是否必选 参数类型 描述 startTime 是 String 开始时间,需要与endTime配合生效。使用UTC时间格式。 endTime 是 String 结束时间,需要与startTime配合生效。使用UTC时间格式。 表14 DatabaseDTO 参数 是否必选 参数类型 描述 column 否 String 列过滤策略。 rows 否 Array of RowDTO objects 行过滤策略。 表15 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}/offers 表1 路径参数 参数 是否必选 参数类型 描述 instance_id 是 String 实例ID,开通的数据交换平台实例ID。 获取方法请参考获取实例ID。 connector_id 是 String 连接器ID,指定数据交换平台下连接器的ID。 获取方法请参考获取连接器ID。 project_id 是 String 项目ID。 获取方法请参考获取项目ID。
  • 响应示例 状态码: 200 OK 合约详情。 { "data" : { "contract_id" : "AGRTconnector-****3b53a05caccd4c53b509************", "contract_name" : "测试合约3", "contract_description" : "OpenApi demo.", "owner_connector_id" : "b40b0d94-3201-4687-93aa-************", "owner_connector_name" : "连接器A", "subscribe_connector_id" : "c1bf9bd7-52fc-435b-ae55-************", "subscribe_connector_name" : "连接器B", "subscriber_name" : "************", "subscriber_id" : "************", "approver_id" : "************", "approver_name" : "************", "offer_id" : "fbf85846-3782-46dc-affb-************", "offer_name" : "offer-mysql-20231129AA", "transactional_mode" : "SUBSCRIBE", "status" : "SUCCESS", "create_time" : "2023-12-05T20:24:37Z", "need_approval" : false, "can_terminate" : true, "use_control_policies" : [ { "action" : "VIEW", "when" : { "start_time" : "2023-12-05T20:24:37Z", "end_time" : "2023-12-25T20:24:37Z" }, "how_many" : null, "where" : [ ], "who" : [ "************" ], "user_type": null, "application" : [ "321ac118-758e-4324-9d41-************" ], "additional_attributes" : { "column" : "id,category", "rows" : [ { "column_name" : null, "condition" : "!=", "value" : "1" } ] } }, { "action" : "MODIFY", "when" : { "start_time" : "2023-12-05T20:24:37Z", "end_time" : "2023-12-25T20:24:37Z" }, "how_many" : null, "where" : [ ], "who" : [ "************" ], "user_type": null, "application" : [ "321ac118-758e-4324-9d41-************" ], "additional_attributes" : { "column" : "id,category", "rows" : [ { "column_name" : null, "condition" : "!=", "value" : "1" } ] } }, { "action" : "DOWNLOAD", "when" : { "start_time" : "2023-12-05T20:24:37Z", "end_time" : "2023-12-25T20:24:37Z" }, "how_many" : null, "where" : [ ], "who" : [ "************" ], "user_type": null, "application" : [ "321ac118-758e-4324-9d41-************" ], "additional_attributes" : { "column" : "id,category", "rows" : [ { "column_name" : null, "condition" : "!=", "value" : "1" } ] } } ], "artifacts" : [ { "data_resource_id" : "25546208-0854-49a0-9023-************", "artifact_id" : "303b4f5f-596e-41c9-ad50-************", "artifact_code" : null, "artifact_title" : "animals", "byte_size" : 16384, "media_type" : "jdbc" } ] }, "total" : 0, "error_code" : null, "error_msg" : null }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 data ContractDetail object 返回数据。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 表4 ContractDetail 参数 参数类型 描述 contract_id String 合约ID。 contract_name String 合约名称。 contract_description String 合约描述。 owner_connector_id String 提供者连接器ID。 owner_connector_name String 提供者连接器名称。 subscribe_connector_id String 订阅连接器ID。 subscribe_connector_name String 订阅连接器名称。 subscriber_name String 订阅人名称。 subscriber_id String 订阅人ID。 approver_id String 审批人ID。 approver_name String 审批人名称。 offer_id String Offer ID。 offer_name String offer名称。 transactional_mode String 交换模式: PEER_TO_PEER: 点对点 SUBSCRIBE:订阅 枚举值: PEER_TO_PEER SUBSCRIBE status String 合约状态: APPROVING: 审批中 RUNNING:数据传输中 SUCCESS:成功 FAILED:失败 TERMINATED:已终止 REJECTED:审批驳回 枚举值: APPROVING RUNNING SUCCESS FAILED TERMINATED REJECTED create_time String 创建时间。 need_approval Boolean 是否需要审批。 注:开启【需要审批】后,下载合约资源的加工产物时需要审批。 can_terminate Boolean 是否允许提供方删除数据。 use_control_policies Array of UseControlPoliciesInner objects 合约使用控制策略列表。 artifacts Array of Artifact objects 合约资产列表。 表5 UseControlPoliciesInner 参数 参数类型 描述 action String 执行动作过滤: VIEW:查看 MODIFY:加工 DOWNLOAD:下载 枚举值: VIEW MODIFY DOWNLOAD when TimeInterval object 限制使用时间。 how_many Integer 限制使用次数。 where Array of strings 限制地点列表。 who Array of strings 限制用户列表。 application Array of strings 限制应用列表。 additional_attributes DatabaseAttributes object 策略的扩展属性。 user_type String 限制用户类型。 USER :指定用户 TEAM :指定团队 枚举值: USER TEAM 表6 Artifact 参数 参数类型 描述 data_resource_id String 所属资源ID。 artifact_id String 资产ID。 artifact_code String 资产编码。 artifact_title String 文件名称。 byte_size Long 文件大小。 media_type String 资产格式类型。 表7 TimeInterval 参数 参数类型 描述 start_time String 起始时间。 end_time String 截止时间。 表8 DatabaseAttributes 参数 参数类型 描述 column String 可见行。 rows Arrays of RowDTO 可见列。 表9 RowDTO 参数 参数类型 描述 column_name String 参数名称。 condition String 参数条件。 value String 参数条件值。 状态码: 400 表10 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表11 响应Body参数 参数 参数类型 描述 data - 返回null。 total Long 总数。 error_code String 错误码。 error_msg String 错误描述。
共100000条