Troubleshoot Microsoft Purview Data Map API request timeout exceptions
Applies to Microsoft Purview Data Map API returned HTTP 408 request timeout.
Troubleshooting steps
The following list contains known patterns and solutions for request timeout exceptions.
If it doesn't match your case, or the failure can't be resolved after applied the solution, contact Microsoft Customer Support with all request history.
Time out to list all glossaries
# 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}
This API by default returns all glossaries together with all terms/categories under those glossaries. If there are 1000 glossaries, each glossary has 1000 terms and 1000 categories, it returns 1000 glossary with 1000 * (1000 terms + 1000 categories).
The size of all related terms/categories could be too large to fetch via single API within a reasonable duration. Use query parameter
ignoreTermsAndCategories=true
to reduce total count to load in server side and shrink response size for network transfer. If terms/categories are still needed, you can combine with the below APIs to fetch them.List terms under specific glossary
# 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}
List categories under specific glossary
# 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}
The size of the all glossary count could be too large to fetch via a single API within a reasonable duration. Use query parameter
limit
andoffset
with small pagination size to get glossaries page by page.
Time out to get glossary with detailed info
GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/detailed
This API by default returns the glossary together with all terms/categories under the glossary.
The size of all related terms/categories could be too large to fetch via single API within a reasonable duration. We recommend you use the below APIs to have a better pagination experience.
Get specific glossary
# https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/get GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}
List terms under specific glossary
# 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}
List categories under specific glossary
# 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}
Time out to list all terms under specific glossary
# https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/list-terms
GET {endpoint}/datamap/api/atlas/v2/glossary/{glossaryGuid}/terms
By default, this API returns all terms under the glossary.
The size of all terms under the glossary could be too large to fetch via single API within a reasonable duration. Use query parameters
limit
andoffset
with small pagination size to list terms page by page.# 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}
Time out to get single term
# https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/get-term
GET {endpoint}/datamap/api/atlas/v2/glossary/term/{termGuid}
This API by default returns the term together with its all relationships. For example, assignedEntities, parent/child terms.
The size of assignedEntities on the term could be too large to fetch via single API within a reasonable duration. Use query parameter
excludeRelationshipTypes
to ignore assignedEntities relationship calledAtlasGlossarySemanticAssignment
in response. Then use another dedicated API to get assignedEntities with pagination.Get specific term
# https://learn.microsoft.com/rest/api/purview/datamapdataplane/glossary/get-term GET {endpoint}/datamap/api/atlas/v2/glossary/term/{termGuid}?excludeRelationshipTypes=AtlasGlossarySemanticAssignment
List assignedEntities under specific term
# 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}