排查Microsoft Purview 数据映射 API 请求超时异常

适用于MICROSOFT PURVIEW 数据映射 API 返回的 HTTP 408 请求超时。

故障排除步骤

以下列表包含请求超时异常的已知模式和解决方案。

如果与案例不匹配,或者应用解决方案后无法解决失败,请联系 Microsoft客户支持 ,了解所有请求历史记录。

超时以列出所有术语表

# https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/get-term
GET {endpoint}/datamap/api/atlas/v2/glossary?ignoreTermsAndCategories={ignoreTermsAndCategories}&limit={limit}&offset={offet}&sort={sort}

默认情况下,此 API 返回所有术语表以及这些术语表下的所有术语/类别。 如果有 1000 个术语表,每个术语表有 1000 个术语和 1000 个类别,则返回 1000 个术语表,其中 1000 * (1000 个术语 + 1000 个类别) 。

  • 所有相关术语/类别的大小可能太大,无法在合理的持续时间内通过单个 API 进行提取。 使用查询参数 ignoreTermsAndCategories=true 可减少服务器端加载的总计数,并缩小网络传输的响应大小。 如果仍需要术语/类别,可以结合以下 API 来提取它们。

    • 列出特定术语表下的术语

      # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-categories
      GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/terms?limit={limit}&offset={offset}&sort={sort}
      
    • 列出特定术语表下的类别

      # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-terms
      GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories?limit={limit}&offset={offset}&sort={sort}
      
  • 所有术语表计数的大小可能太大,无法在合理的持续时间内通过单个 API 进行提取。 使用查询参数 limitoffset 具有较小的分页大小来逐页获取术语表。

超时以获取包含详细信息的术语表

GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/detailed

默认情况下,此 API 返回术语表以及术语表下的所有术语/类别。

  • 所有相关术语/类别的大小可能太大,无法在合理的持续时间内通过单个 API 进行提取。 建议使用以下 API 来获得更好的分页体验。

    • 获取特定术语表

      # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/get
      GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}
      
    • 列出特定术语表下的术语

      # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-terms
      GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/terms?limit={limit}&offset={offset}&sort={sort}
      
    • 列出特定术语表下的类别

      # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-categories
      GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories?limit={limit}&offset={offset}&sort={sort}
      

超时以列出特定术语表下的所有术语

# https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-terms
GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/terms

默认情况下,此 API 返回术语表下的所有术语。

  • 术语表下的所有术语的大小可能太大,无法在合理的持续时间内通过单个 API 进行提取。 使用查询参数 limitoffset 具有较小的分页大小来逐页列出术语。

    # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-terms
    GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/terms?limit={limit}&offset={offset}&sort={sort}
    

超时以获取单个术语

# https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/get-term
GET {endpoint}/datamap/api/atlas/v2/glossary/term/{termGuid}

默认情况下,此 API 将返回术语及其所有关系。 例如,assignedEntities、父/子术语。

  • 术语上 assignedEntities 的大小可能太大,无法在合理的持续时间内通过单个 API 进行提取。 使用查询参数 excludeRelationshipTypes 忽略响应中调用 AtlasGlossarySemanticAssignment 的 assignedEntities 关系。 然后使用另一个专用 API 获取具有分页的 assignedEntities。

    • 获取特定术语

      # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/get-term
      GET {endpoint}/datamap/api/atlas/v2/glossary/term/{termGuid}?excludeRelationshipTypes=AtlasGlossarySemanticAssignment
      
    • 列出特定术语下的 assignedEntities

      # https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-entities-assigned-with-term
      GET {endpoint}/datamap/api/atlas/v2/glossary/terms/{termGuid}/assignedEntities?limit={limit}&offset={offset}&sort={sort}
      

后续步骤