如何通过代码编辑Azure Health Bot的相关文件?
代码编辑Azure Health Bot文件的实现方案
前置准备
- 先在Azure Portal中获取当前Health Bot实例的
租户名、API访问密钥,同时给操作使用的服务主体分配Health Bot的编辑权限,避免权限不足导致操作失败。 - 提前确认需要编辑的文件类型:目前支持代码编辑的文件包括场景定义文件、自定义对话流配置、医疗术语库自定义条目、多语言响应模板配置四类,不同类型的文件对应不同的导出/导入参数。
操作流程
1. 拉取最新的原始文件
所有修改操作前务必先拉取最新版本的原文件备份,避免覆盖其他用户的改动。
你可以直接调用Health Bot的导出REST API获取目标文件,Python环境下用requests库调用的示例如下:
import requests # 替换占位符为你实际的Health Bot租户名 base_export_url = "https://us.healthbot.microsoft.com/api/accounts/{YOUR_HEALTHBOT_TENANT_NAME}/content/export" headers = { "Authorization": "Bearer {YOUR_API_ACCESS_TOKEN}", "Content-Type": "application/json" } # 按需要编辑的文件类型指定resourceTypes参数 params = { "resourceTypes": ["scenarios", "templates", "terminology"] } resp = requests.get(base_export_url, headers=headers, params=params) original_files = resp.json()
2. 本地编辑文件内容
导出的文件统一为JSON结构,你可以直接按需修改对应字段:
- 场景文件可调整对话节点的触发条件、跳转逻辑、关联的医疗判断规则
- 响应模板可修改多语言回复文本、卡片样式、富媒体配置
- 术语库可调整自定义疾病、药品、症状的匹配规则和科普解释内容
注意:不要修改文件中的id、createdAt、lastModified等系统自动生成的字段,否则会导致后续导入校验失败
3. 提交修改到Health Bot服务
编辑完成后调用导入接口提交修改即可,示例代码如下:
import requests base_import_url = "https://us.healthbot.microsoft.com/api/accounts/{YOUR_HEALTHBOT_TENANT_NAME}/content/import" headers = { "Authorization": "Bearer {YOUR_API_ACCESS_TOKEN}", "Content-Type": "application/json" } payload = { "content": modified_files, # modified_files替换为你修改后的文件内容 "overwrite": True, # 设为True会覆盖原有版本的文件 "publish": True # 设为True会直接发布修改生效,设为False仅保存为草稿 } resp = requests.post(base_import_url, headers=headers, json=payload) if resp.status_code == 200: print("文件修改提交成功") else: print(f"修改失败,错误信息:{resp.text}")
注意事项
- 正式导入前可以先调用Health Bot的内容校验接口验证修改后的文件格式和逻辑合法性,避免导入错误影响线上服务
- 生产环境修改建议先在测试租户验证效果,确认无误后再同步到生产租户
- 所有修改操作都会保存在Health Bot的操作日志中,出现异常可以随时回滚到历史版本
内容的提问来源于stack exchange,提问作者Nuk
相关产品推荐
相关产品推荐

