Azure Purview元数据恢复API返回空guidAssignments问题排查求助
Azure Purview批量恢复API返回200但guidAssignments为空的排查与解决
可能的原因及对应解决办法
1. 实体GUID已存在于目标Purview实例
Purview批量恢复接口会跳过已存在的实体,不会生成新的GUID映射,因此返回空的guidAssignments。
- 解决办法:
- 调用实体查询接口
https://<purview-account-name>.purview.azure.com/datamap/api/atlas/v2/entity/guid/{guid},逐个验证备份实体的GUID是否已在目标实例中存在。 - 若实体已存在,说明恢复操作实际已完成;若需重新导入,可修改负载中的实体GUID后重试。
- 调用实体查询接口
2. 负载格式不符合API要求,实体未被解析处理
负载中的实体存在类型错误、必填属性缺失、依赖实体不存在等问题时,接口会返回200但忽略所有实体。
- 解决办法:
- 检查每个实体的
typeName是否与目标Purview中的类型完全匹配(注意大小写区分)。 - 确认实体必填属性(如
qualifiedName)完整且符合格式规范,例如数据源的qualifiedName需遵循Purview可识别的格式。 - 若实体存在依赖关系(如表依赖数据库实体),需确保依赖实体已提前恢复或存在于目标实例中。
- 检查每个实体的
3. Service Principal权限不足
身份验证通过但权限不足时,接口无法写入实体,返回空结果。
- 解决办法:
- 确认Service Principal已被分配Purview Data Curator或更高权限的角色,该角色拥有元数据写入权限。
- 检查角色分配范围是否覆盖整个Purview账户,而非特定资源子集。
4. 实体类型或分类已被删除/禁用
目标实例中若已删除实体对应的类型,或相关分类被禁用,接口会跳过这类实体。
- 解决办法:
- 在Purview Studio中检查实体类型是否存在,若缺失需先恢复类型定义(可通过类型导入接口或手动创建)。
- 确认相关分类处于启用状态,若已禁用需重新开启。
替代验证方法
即使guidAssignments为空,也可通过以下方式确认恢复状态:
- 在Purview Studio中搜索实体的
qualifiedName或名称,查看是否存在。 - 调用批量实体查询接口,传入备份文件中的实体GUID列表,检查返回结果是否包含目标实体。
内容的提问来源于stack exchange,提问作者Vanisree
相关产品推荐
相关产品推荐

