更新时间:2024-08-19 GMT+08:00
分享

场景1:清理某租户下的实例数据

操作场景

一般情况下,应用开发完成后需要测试人员对应用进行功能检查。而在测试期间,测试人员会在应用中编造出很多测试数据。如果您希望完成测试后可以一键清理这些无效数据,您可以通过调用“数据清理与重置”“tenant-clean-task”接口,将“type”参数设置为“TENANT_RESET”,并指定“tenant_id”“name”参数值,清理指定租户下的所有实例数据。

本章节以清理租户“TestUser”下的实例数据为例,如需了解更多数据清理与重置的API,请参见全量数据服务系统管理API > 数据清理与重置

  • 清理某租户下的实例数据,将导致数据不可恢复,请谨慎操作。
  • 如果您已将数据模型及其实例数据同步至LinkX-F系统,进行此操作后,将无法在LinkX-F系统进行数据模型及其实例数据的更新。
  • 在清理指定租户下的实例数据期间,如果指定的租户是“-1”租户,该租户可以正常使用。如果指定的租户不是“-1”租户,该租户不能使用。

前提条件

已获取租户的唯一编码。

涉及接口

  • 创建并执行清理数据任务

    URI格式:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task

  • 查询任务执行结果

    URI格式:GET http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id}

  • 重试清理数据任务

    URI格式:PUT http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id}

其中,{endpoint}表示承载REST服务端点的服务器域名或IP地址,{appID}表示应用ID,{id}表示清理数据任务ID。

操作步骤

  1. 创建并执行清理数据任务。

    • 如果存在响应参数“taskStatus”“await_start”“ongoing”“fail_awai_retry”的任务,则不能对该任务中的租户创建新的清理数据任务。
    • 创建并执行清理数据任务时,除了该租户在应用运行态中自定义的扩展模型、服务编排、搜索服务、联合索引数据和内置模型数据以外,其他数据均被删除。
    • URI格式:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task
    • 参数说明请参见全量数据服务系统管理API > 数据清理与重置
    • 请求示例:
      POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/v1/tenant-clean-task
      X-AUTH-TOKEN: ABCDEFJ....
      {
          "params": {
              "tenant_id": "123456789",
              "name": "TestUser",
              "type": "TENANT_RESET"
          }
      }
    • 响应示例:
      {
          "result": "SUCCESS",
          "data": [
              {
                  "id": "576798761137737728",
                  "creator": "Tester_HQ 362613cab50d4f42be5749d111111d4f",
                  "createTime": "2023-12-14T15:52:21.058+0800",
                  "modifier": "Tester_HQ 362613cab50d4f42be5749d111111d4f",
                  "lastUpdateTime": "2023-12-14T15:52:21.058+0800",
                  "rdmVersion": 1,
                  "rdmDeleteFlag": 0,
                  "className": null,
                  "rdmExtensionType": "TenantCleanTask",
                  "hibernateVersion": 1,
                  "tenant": {
                      "id": "-1",
                      "clazz": "Tenant"
                  },
                  "name": "TestUser",
                  "applicationTaskId": null,
                  "cleanTaskTenantId": 12,
                  "type": "TENANT_RESET",
                  "taskStatus": "ONGOING",
                  "retryTimes": 0,
                  "fileStatus": "AWAIT_START",
                  "ddsStatus": "AWAIT_START",
                  "cssStatus": "AWAIT_START",
                  "rdsStatus": "AWAIT_START",
                  "metadataStatus": "AWAIT_START",
                  "failMessage": null
              }
          ],
          "errors": []
      }

  2. 记录响应“data”“id”,例如“576798761137737728”
  3. 查询任务执行结果。

    • URI格式:GET http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id}
    • 参数说明请参见全量数据服务系统管理API > 数据清理与重置
    • 请求示例:
      GET https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/v1/tenant-clean-task/576798761137737728
      X-AUTH-TOKEN: ABCDEFJ....
    • 响应示例:
      {
          "result": "SUCCESS",
          "data": [
              {
                  "id": "576798761137737728",
                  "creator": "Tester_HQ 362613cab50d4f42be5749d111111d4f",
                  "createTime": "2023-12-14T15:53:30.420+0800",
                  "modifier": "Tester_HQ 362613cab50d4f42be5749d111111d4f",
                  "lastUpdateTime": "2023-12-14T15:53:30.420+0800",
                  "rdmVersion": 5,
                  "rdmDeleteFlag": 0,
                  "className": null,
                  "rdmExtensionType": "TenantCleanTask",
                  "hibernateVersion": 8,
                  "tenant": {
                      "id": "-1",
                      "clazz": "Tenant"
                  },
                  "name": "TestUser",
                  "applicationTaskId": null,
                  "cleanTaskTenantId": 12,
                  "type": "TENANT_RESET",
                  "taskStatus": "SUCCESS",
                  "retryTimes": 0,
                  "fileStatus": "SUCCESS",
                  "ddsStatus": "SUCCESS",
                  "cssStatus": "SUCCESS",
                  "rdsStatus": "SUCCESS",
                  "metadataStatus": "SUCCESS",
                  "failMessage": null
              }
          ],
          "errors": []
      }

  4. (可选)手动重试清理数据任务。

    • 如果响应的“taskStatus”“success”“fail”,不允许调用重试接口。
    • 如果响应的“taskStatus”“fail_awai_retry”,则表示清理失败,正在等待重试。等待重试的任务仅支持重试3次,如果重试3次后仍清理失败,则任务结束。

      即,当响应的“retryTimes”<3时,您可以直接调用重试清理数据任务接口进行手动重试,也可以等待系统触发重试机制自动重试(系统会在凌晨3点自动重试)。

    • URI格式:PUT http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id}
    • 参数说明请参见全量数据服务系统管理API > 数据清理与重置
    • 请求示例:
      PUT https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/v1/tenant-clean-task/576798761137737728
      X-AUTH-TOKEN: ABCDEFJ....
    • 响应示例:
      {
          "result": "SUCCESS",
          "data": [
              {
                  "id": "576798761137737728",
                  "creator": "Tester_HQ 362613cab50d4f42be5749d111111d4f",
                  "createTime": "2023-12-14T15:53:30.420+0800",
                  "modifier": "Tester_HQ 362613cab50d4f42be5749d111111d4f",
                  "lastUpdateTime": "2023-12-14T15:53:30.420+0800",
                  "rdmVersion": 5,
                  "rdmDeleteFlag": 0,
                  "className": null,
                  "rdmExtensionType": "TenantCleanTask",
                  "hibernateVersion": 8,
                  "tenant": {
                      "id": "-1",
                      "clazz": "Tenant"
                  },
                  "name": "TestUser",
                  "applicationTaskId": null,
                  "cleanTaskTenantId": 12,
                  "type": "TENANT_RESET",
                  "taskStatus": "ONGOING",
                  "retryTimes": 1,
                  "fileStatus": "SUCCESS",
                  "ddsStatus": "SUCCESS",
                  "cssStatus": "SUCCESS",
                  "rdsStatus": "FAIL",
                  "metadataStatus": "AWAIT_START",
                  "failMessage": "生命周期状态[Start]已存在"
              }
          ],
          "errors": []
      }

相关文档