Skip to content

Latest commit

 

History

History
578 lines (472 loc) · 21.8 KB

domaindata_cn.md

File metadata and controls

578 lines (472 loc) · 21.8 KB

DomainData

DomainData 表示被 Kuscia 管理的数据。请参考 DomainData。 您可以从 这里 找到对应的 protobuf 文件。

Data Mesh API 提供了从 Domain 侧的管理 DomainData 的能力,详细 API 请参考 Data Mesh

接口总览

方法名 请求类型 响应类型 描述
CreateDomainData CreateDomainDataRequest CreateDomainDataResponse 创建数据对象
UpdateDomainData UpdateDomainDataRequest UpdateDomainDataResponse 更新数据对象
DeleteDomainData DeleteDomainDataRequest DeleteDomainDataResponse 删除数据对象
QueryDomainData QueryDomainDataRequest QueryDomainDataResponse 查询数据对象
BatchQueryDomainData BatchQueryDomainDataRequest BatchQueryDomainDataResponse 批量查询数据对象
ListDomainData ListDomainDataRequest ListDomainDataResponse 列出数据对象

接口详情

{#create-domain-data}

创建数据对象

HTTP 路径

/api/v1/domaindata/create

{#create-domain-data-request}

请求(CreateDomainDataRequest)

字段 类型 选填 描述
header RequestHeader 可选 自定义请求内容
domaindata_id string 可选 数据对象 ID,满足 RFC 1123 标签名规则要求
name string 必填 名称
type string 必填 类型,如[table,model,rule,report],大小写敏感
relative_uri string 必填 相对数据源所在位置的路径,参考 DomainData 概念
domain_id string 必填 节点 ID
datasource_id string 可选 数据源 ID,不填写则使用默认数据源,参考 DomainData 概念
attributes map<string,string> 可选 自定义属性,用作用户或应用算法组件为数据对象添加扩展信息,参考 DomainData 概念
partition Partition 可选 暂不支持
columns DataColumn array 必填 列信息

{#create-domain-data-response}

响应(CreateDomainDataResponse)

字段 类型 描述
status Status 状态信息
data CreateDomainDataResponseData
data.domaindata_id string 数据对象 ID

请求示例

发起请求:

# Execute example in container
export CTR_CERTS_ROOT=/home/kuscia/var/certs
curl -k -X POST 'https://localhost:8082/api/v1/domaindata/create' \
 --header "Token: $(cat ${CTR_CERTS_ROOT}/token)" \
 --header 'Content-Type: application/json' \
 --cert ${CTR_CERTS_ROOT}/kusciaapi-server.crt \
 --key ${CTR_CERTS_ROOT}/kusciaapi-server.key \
 --cacert ${CTR_CERTS_ROOT}/ca.crt \
 -d '{
  "domain_id": "alice",
  "domaindata_id": "alice-001",
  "datasource_id": "test-alice-datasource-id",
  "name": "alice001",
  "type": "table",
  "relative_uri": "alice.csv",
  "columns": [
    {
      "name": "id1",
      "type": "str",
      "comment": ""
    },
    {
      "name": "marital_single",
      "type": "float",
      "comment": ""
    }
  ]
}'

请求响应成功结果:

{
  "status": {
    "code": 0,
    "message": "success",
    "details": []
  },
  "data": {
    "domaindata_id": "alice-001"
  }
}

{#update-domain-data}

更新数据对象

HTTP 路径

/api/v1/domaindata/update

请求(UpdateDomainDataRequest)

字段 类型 选填 描述
header RequestHeader 可选 自定义请求内容
domaindata_id string 必填 数据对象 ID
name string 必填 名称
type string 必填 类型,[table,model,rule,report,unknown],大小写敏感
relative_uri string 必填 相对数据源所在位置的路径,参考 DomainData 概念
domain_id string 必填 节点 ID
datasource_id string 可选 数据源 ID,不填写则使用默认数据源,参考 DomainData 概念
attributes map<string,string> 可选 自定义属性,用作用户或应用算法组件为数据对象添加扩展信息,参考 DomainData 概念
partition Partition 可选 暂不支持
columns DataColumn[] 必填 列信息

响应(UpdateDomainDataResponse)

字段 类型 描述
status Status 状态信息

请求示例

发起请求:

# Execute example in container
export CTR_CERTS_ROOT=/home/kuscia/var/certs
curl -k -X POST 'https://localhost:8082/api/v1/domaindata/update' \
 --header "Token: $(cat ${CTR_CERTS_ROOT}/token)" \
 --header 'Content-Type: application/json' \
 --cert ${CTR_CERTS_ROOT}/kusciaapi-server.crt \
 --key ${CTR_CERTS_ROOT}/kusciaapi-server.key \
 --cacert ${CTR_CERTS_ROOT}/ca.crt \
 -d '{
  "domain_id": "alice",
  "domaindata_id": "alice-001",
  "datasource_id": "test-alice-datasource-id",
  "name": "alice0010",
  "type": "table",
  "relative_uri": "alice.csv",
  "columns": [
    {
      "name": "id1",
      "type": "str",
      "comment": ""
    },
    {
      "name": "marital_single",
      "type": "float",
      "comment": ""
    }
  ]
}'

请求响应成功结果:

{
  "status": {
    "code": 0,
    "message": "success",
    "details": []
  }
}

{#delete-domain-data}

删除数据对象

HTTP 路径

/api/v1/domaindata/delete

请求(DeleteDomainDataRequest)

字段 类型 选填 描述
header RequestHeader 可选 自定义请求内容
domain_id string 必填 节点 ID
domaindata_id string 必填 数据对象 ID

响应(DeleteDomainDataResponse)

字段 类型 描述
status Status 状态信息

请求示例

发起请求:

# Execute example in container
export CTR_CERTS_ROOT=/home/kuscia/var/certs
curl -k -X POST 'https://localhost:8082/api/v1/domaindata/delete' \
 --header "Token: $(cat ${CTR_CERTS_ROOT}/token)" \
 --header 'Content-Type: application/json' \
 --cert ${CTR_CERTS_ROOT}/kusciaapi-server.crt \
 --key ${CTR_CERTS_ROOT}/kusciaapi-server.key \
 --cacert ${CTR_CERTS_ROOT}/ca.crt \
 -d '{
  "domain_id": "alice",
  "domaindata_id": "alice-001"
}'

请求响应成功结果:

{
  "status": {
    "code": 0,
    "message": "success",
    "details": []
  }
}

{#query-domain-data}

查询数据对象

HTTP 路径

/api/v1/domaindata/query

请求(QueryDomainRequest)

字段 类型 选填 描述
header RequestHeader 可选 自定义请求内容
data QueryDomainDataRequestData 必填 查询内容

响应(QueryDomainResponse)

字段 类型 描述
status Status 状态信息
data DomainData

请求示例

发起请求:

# Execute example in container
export CTR_CERTS_ROOT=/home/kuscia/var/certs
curl -k -X POST 'https://localhost:8082/api/v1/domaindata/query' \
 --header "Token: $(cat ${CTR_CERTS_ROOT}/token)" \
 --header 'Content-Type: application/json' \
 --cert ${CTR_CERTS_ROOT}/kusciaapi-server.crt \
 --key ${CTR_CERTS_ROOT}/kusciaapi-server.key \
 --cacert ${CTR_CERTS_ROOT}/ca.crt \
 -d '{
  "data": {
    "domain_id": "alice",
    "domaindata_id": "alice-001"
  }
}'

请求响应成功结果:

{
  "status": {
    "code": 0,
    "message": "success",
    "details": []
  },
  "data": {
    "domaindata_id": "alice-001",
    "name": "alice001",
    "type": "table",
    "relative_uri": "alice.csv",
    "domain_id": "alice",
    "datasource_id": "test-alice-datasource-id",
    "attributes": {},
    "partition": null,
    "columns": [
      {
        "name": "id1",
        "type": "str",
        "comment": "",
        "not_nullable": false
      },
      {
        "name": "marital_single",
        "type": "float",
        "comment": "",
        "not_nullable": false
      }
    ],
    "vendor": "manual",
    "status": "Available",
    "author": "alice",
    "file_format": "CSV"
  }
}

请求响应异常结果:

{
  "status": {
    "code": 11506,
    "message": "domaindatas.kuscia.secretflow \"default-data-source\" not found",
    "details": []
  },
  "data": null
}

{#batch-query-domain-data}

批量查询数据对象

HTTP 路径

/api/v1/domaindata/batchQuery

请求(BatchQueryDomainDataRequest)

字段 类型 选填 描述
header RequestHeader 可选 自定义请求内容
data QueryDomainDataRequestData[] 必填 查询内容

响应(BatchQueryDomainDataResponse)

字段 类型 描述
status Status 状态信息
data DomainDataList

请求示例

发起请求:

# Execute example in container
export CTR_CERTS_ROOT=/home/kuscia/var/certs
curl -k -X POST 'https://localhost:8082/api/v1/domaindata/batchQuery' \
 --header "Token: $(cat ${CTR_CERTS_ROOT}/token)" \
 --header 'Content-Type: application/json' \
 --cert ${CTR_CERTS_ROOT}/kusciaapi-server.crt \
 --key ${CTR_CERTS_ROOT}/kusciaapi-server.key \
 --cacert ${CTR_CERTS_ROOT}/ca.crt \
 -d '{
  "data": [
    {
      "domain_id": "alice",
      "domaindata_id": "alice-001"
    },
    {
      "domain_id": "alice",
      "domaindata_id": "alice-table"
    }
  ]
}'

请求响应成功结果:

{
  "status": {
    "code": 0,
    "message": "success",
    "details": []
  },
  "data": {
    "domaindata_list": [
      {
        "domaindata_id": "alice-001",
        "name": "alice001",
        "type": "table",
        "relative_uri": "alice.csv",
        "domain_id": "alice",
        "datasource_id": "test-alice-datasource-id",
        "attributes": {},
        "partition": null,
        "columns": [
          {
            "name": "id1",
            "type": "str",
            "comment": "",
            "not_nullable": false
          },
          {
            "name": "marital_single",
            "type": "float",
            "comment": "",
            "not_nullable": false
          }
        ],
        "vendor": "manual",
        "status": "Available",
        "author": "alice",
        "file_format": "CSV"
      }
    ]
  }
}

{#list-domain-data}

列出数据对象

HTTP 路径

/api/v1/domaindata/list

请求(ListDomainDataRequest)

字段 类型 选填 描述
header RequestHeader 可选 自定义请求内容
data ListDomainDataRequestData 必填 查询请求

响应(ListDomainDataResponse)

字段 类型 描述
status Status 状态信息
data DomainDataList

请求示例

发起请求:

# Execute example in container
export CTR_CERTS_ROOT=/home/kuscia/var/certs
curl -k -X POST 'https://localhost:8082/api/v1/domaindata/list' \
 --header "Token: $(cat ${CTR_CERTS_ROOT}/token)" \
 --header 'Content-Type: application/json' \
 --cert ${CTR_CERTS_ROOT}/kusciaapi-server.crt \
 --key ${CTR_CERTS_ROOT}/kusciaapi-server.key \
 --cacert ${CTR_CERTS_ROOT}/ca.crt \
 -d '{
  "data": {
    "domain_id": "alice",
    "domaindata_type": "table",
    "domaindata_vendor": "manual"
  }
}'

请求响应成功结果:

{
  "status": {
    "code": 0,
    "message": "success",
    "details": []
  },
  "data": {
    "domaindata_list": [
      {
        "domaindata_id": "alice-table",
        "name": "alice.csv",
        "type": "table",
        "relative_uri": "alice.csv",
        "domain_id": "alice",
        "datasource_id": "default-data-source",
        "attributes": {
          "description": "alice demo data"
        },
        "partition": null,
        "columns": [
          {
            "name": "id1",
            "type": "str",
            "comment": "",
            "not_nullable": false
          },
          {
            "name": "marital_single",
            "type": "float",
            "comment": "",
            "not_nullable": false
          }
        ],
        "vendor": "manual",
        "status": "Available",
        "author": "alice",
        "file_format": "UNKNOWN"
      }
    ]
  }
}

公共

{#query-domain-data-request-data}

QueryDomainDataRequestData

字段 类型 选填 描述
domain_id string 必填 节点 ID
domaindata_id string 必填 数据对象 ID

{#list-domain-data-request-data}

ListDomainDataRequestData

字段 类型 选填 描述
domain_id string 必填 节点 ID
domaindata_type string 可选 类型
domaindata_vendor string 可选 来源

{#domain-data-list}

DomainDataList

字段 类型 描述
domaindata_list DomainData[] 数据对象列表

{#domain-data-entity}

DomainData

字段 类型 描述
domaindata_id string 数据对象 ID
name string 名称
type string 类型,[table,model,rule,report,unknown],大小写敏感
relative_uri string 相对数据源所在位置的路径,参考 DomainData 概念
domain_id string 节点 ID
datasource_id string 数据源 ID,参考 DomainData 概念
attributes map<string,string> 自定义属性,用作用户或应用算法组件为数据对象添加扩展信息,参考 DomainData 概念
partition Partition 暂不支持
columns DataColumn[] 列信息
vendor string 来源,用于批量查询接口筛选数据对象,参考 ListDomainDataRequestDataDomainData 概念
author string 表示 DomainData 的所属者的节点 ID ,用来标识这个 DomainData 是由哪个节点创建的

{#partition}

Partition

字段 类型 选填 描述
type string 必填 类型
fields DataColumn[] 必填 列信息

{#data-column}

DataColumn

字段 类型 选填 描述
name string 必填 列名称
type string 必填 类型,当前版本由应用算法组件定义和消费,参考 DomainData 概念
comment string 可选 列注释