当在 Teams Shifts 中查询具有大量班次的时间表时(例如,一个月内有 100 多个班次 - 这就像一个每天工作 30 人的团队),我们不断收到 504 错误(网关超时)
我们已经尝试使用 TOP 并限制我们返回的天数以减少请求大小,但是用于 Shifts 的 GRAPH API 在搜索和过滤能力方面非常有限
请求示例(来自 MS FLOW,通过自定义连接器)。
{
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['shared_medicus365-5fconnector-5f455cfd1c6d1a89ed-5fce5269b428f1d481']['connectionId']"
}
},
"method": "get",
"path": "/beta/teams/@{encodeURIComponent(items('fe_team')?['TeamID'])}/schedule/shifts",
"queries": {
"$filter": "sharedShift/startDateTime ge @{outputs('composeStartOfDay')} and sharedShift/endDateTime le @{body('6monthsAhead')}",
"$top": "1000"
},
"authentication": "@parameters('$authentication')"
},
"metadata": {
"flowSystemMetadata": {
"swaggerOperationId": "ListTeamsShifts"
}
}
}
我们正在使用 Microsoft 文档中描述的 EXACT 定义的方法。
我们收到来自 GRAPH 的 504 响应 - 网关超时(再次),只要消息大小超过几周的 Shift 值。
{
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"request-id": "437ad3be-be70-4bbe-b972-f9e24b588b5c",
"date": "2019-09-03T19:01:57"
}
}
}