
# 更新知识库
#### 操作场景
本文通过调用一系列知识中心的API介绍知识库的更新流程，适用于当数据源为OBS接入时，在OBS上进行文件增删改后，将改动同步到知识库的场景。API调用方法请参见[如何调用API](https://support.huaweicloud.com/api-appstage/appstage_07_0008.html)。
#### 前提条件
- 用户接入的OBS目录下，存在文件的增删改其中一种情况。
- 需获取待更新数据集的id，支持通过如下两种方式获取：
  - [创建知识数据集](https://support.huaweicloud.com/api-appstage/CreateKnowledgeDataSet.html)接口返回值即为知识数据集id。
  
  - 进入[AI原生应用引擎](https://support.huaweicloud.com/usermanual-wiseagent/appstage_04_0638.html#section0)，在左侧导航栏选择"知识中心 \> 知识库"，选择页面右上角的"... \> 知识数据集"，在数据集列表中，单击数据集名称，进入详情页即可获取数据集id。
   
 
#### 更新流程
1. 执行知识数据集调度，更新数据集内容。 调用[执行知识数据集](https://support.huaweicloud.com/api-appstage/ExecuteKnowledgeDataSet.html)接口，根据知识数据集id，触发知识数据集的调度执行，调度执行完毕，数据集的内容将被更新。
   接口返回内容如下，该内容为执行记录id。
   ```
   {
     "data" : "3f28e62-xxxxxxxx-a15be0d638a2"
   }
   ```
   
2. 查询知识数据集调度执行的结果。
   调用[查询知识数据集最新执行记录](https://support.huaweicloud.com/api-appstage/QueryKdsLatestExecutionRecord.html)接口，根据知识数据集id，查询调度执行结果。根据返回结果响应：
   ```
   {
   "data" : {
   "id" : "djh28e62-3a81-4018-a48f-a15be0d63812",
   "result" : "SUCCESS",
   "progress" : 100.0,
   "run_time" : 27684,
   "start_time" : "2024-11-22T03:15:49.000+00:00",
   "end_time" : "2024-11-22T03:16:17.000+00:00",
   "log_detail" : "开始任务......结束任务"
   }
   }
   ```
   - 如果result字段值为SUCCESS，则表明数据集更新成功。
   
   - 如果result字段值为RUNNING，则表明数据集正在更新，请稍候。
   
   - 如果result字段值为FAILURE，则表明数据集更新失败，请检查文件是否符合要求。
     
 
