Microsoft graph api Microsoft Graph API-503服务无法与“一起使用”;“未知错误”;

Microsoft graph api Microsoft Graph API-503服务无法与“一起使用”;“未知错误”;,microsoft-graph-api,Microsoft Graph Api,我们的应用程序执行许多对MS Graph API的调用,主要是对消息、日历和联系人的调用。由于呼叫量巨大,我们会遇到节流和503服务不可用错误。有时503服务不可用错误的描述如下: 错误代码:“未知错误”,错误消息: 通常,这些错误会在一次或多次重试后消失 从11月5日开始,此类“未知错误”的数量急剧增加。我找不到任何可能导致这些更改的MS Graph API服务更新描述。这些错误增加的原因是什么?我怎样检查它 请阅读我们的节流指南 您需要尊重调用返回的retry after标头。否则,你会得到

我们的应用程序执行许多对MS Graph API的调用,主要是对消息、日历和联系人的调用。由于呼叫量巨大,我们会遇到节流和503服务不可用错误。有时503服务不可用错误的描述如下:

错误代码:“未知错误”,错误消息:

通常,这些错误会在一次或多次重试后消失


从11月5日开始,此类“未知错误”的数量急剧增加。我找不到任何可能导致这些更改的MS Graph API服务更新描述。这些错误增加的原因是什么?我怎样检查它

请阅读我们的节流指南

您需要尊重调用返回的retry after标头。否则,你会得到429分,有时会得到503分


如果您使用的是我们的Microsoft Graph SDK,它有一个内置的节流处理程序。

也有同样的问题,并且显然与前面的答案建议的节流无关。 排序似乎出于某种原因导致了问题。就好像有一条坏消息表明API无法解析并引发异常一样。。。 以下是完整的跟踪:

➜  workturbo curl -v -H "Authorization: Bearer $TOKEN" https://graph.microsoft.com/beta/me/messages\?%24select=changeKey\&%24filter=isDraft+eq+false+and+lastModifiedDateTime+lt+2020-02-01T23%3A19%3A57Z\&%24orderby=lastModifiedDateTime+desc\&%24skip=0\&%24top=5
*   Trying 20.190.132.119...
* TCP_NODELAY set
* Connected to graph.microsoft.com (20.190.132.119) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=graph.microsoft.com
*  start date: Jul  1 21:55:17 2020 GMT
*  expire date: Jul  1 21:55:17 2022 GMT
*  subjectAltName: host "graph.microsoft.com" matched cert's "graph.microsoft.com"
*  issuer: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation; OU=Microsoft IT; CN=Microsoft IT TLS CA 2
*  SSL certificate verify ok.
> GET /beta/me/messages?%24select=changeKey&%24filter=isDraft+eq+false+and+lastModifiedDateTime+lt+2020-02-01T23%3A19%3A57Z&%24orderby=lastModifiedDateTime+desc&%24skip=0&%24top=5 HTTP/1.1
> Host: graph.microsoft.com
> User-Agent: curl/7.64.1
> Accept: */*
> Authorization: Bearer <OBFUSCATED>
>
< HTTP/1.1 503 Service Unavailable
< Cache-Control: private
< Content-Type: application/json
< request-id: 3903e2c4-325b-4925-8544-20383e2a2944
< client-request-id: 3903e2c4-325b-4925-8544-20383e2a2944
< x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West US","Slice":"SliceC","Ring":"5","ScaleUnit":"003","RoleInstance":"AGSFE_IN_17"}}
< Strict-Transport-Security: max-age=31536000
< Date: Tue, 21 Jul 2020 19:30:23 GMT
< Content-Length: 198
<
{
  "error": {
    "code": "UnknownError",
    "message": "",
    "innerError": {
      "date": "2020-07-21T19:30:23",
      "request-id": "3903e2c4-325b-4925-8544-20383e2a2944"
    }
  }
* Connection #0 to host graph.microsoft.com left intact
}* Closing connection 0
➜  workturbo curl-v-H“授权:持票人$TOKEN”https://graph.microsoft.com/beta/me/messages\?%24select=changeKey\&%24filter=isDraft+eq+false+and+lastModifiedDateTime+lt+2020-02-01T23%3A19%3A57Z\&%24orderby=lastModifiedDateTime+desc\&%24skip=0\&%24top=5
*正在尝试20.190.132.119。。。
*TCP_节点集
*已连接到graph.microsoft.com(20.190.132.119)端口443(#0)
*阿尔卑斯山,提供h2
*ALPN,提供http/1.1
*已成功设置证书验证位置:
*CAfile:/etc/ssl/cert.pem
卡帕斯:没有
*TLSv1.2(输出),TLS握手,客户端问候(1):
*TLSv1.2(IN)、TLS握手、服务器hello(2):
*TLSv1.2(IN),TLS握手,证书(11):
*TLSv1.2(IN)、TLS握手、服务器密钥交换(12):
*TLSv1.2(IN),TLS握手,服务器完成(14):
*TLSv1.2(输出)、TLS握手、客户端密钥交换(16):
*TLSv1.2(OUT),TLS更改密码,更改密码规范(1):
*TLSv1.2(输出),TLS握手,完成(20):
*TLSv1.2(IN),TLS更改密码,更改密码规范(1):
*TLSv1.2(IN),TLS握手,完成(20):
*使用TLSv1.2/ECDHE-RSA-AES128-GCM-SHA256的SSL连接
*ALPN,服务器不同意协议
*服务器证书:
*主题:CN=graph.microsoft.com
*开始日期:7月1日21:55:17格林尼治标准时间2020
*到期日期:格林威治标准时间7月1日21:55:17 2022
*subjectAltName:主机“graph.microsoft.com”匹配证书的“graph.microsoft.com”
*发行人:C=美国;ST=华盛顿;L=雷蒙德;O=微软公司;OU=微软IT;CN=微软IT TLS CA 2
*SSL证书验证正常。
>获取/beta/me/messages?%24select=changeKey&%24filter=isDraft+eq+false+and+lastModifiedDateTime+lt+2020-02-01T23%3A19%3A57Z&%24orderby=lastModifiedDateTime+desc&%24skip=0&%24top=5 HTTP/1.1
>主持人:graph.microsoft.com
>用户代理:curl/7.64.1
>接受:*/*
>授权:持票人
>
谢谢@Jeremy。我发现这些错误确实是节流相关问题。不过我没想到503会出错。太好了,你介意把这个标记为答案吗?谢谢。我得到的是503,但没有之前的429,而且503响应头不包含重试后的响应。10年来,我从未见过像Microsofts api one这样糟糕的api。。未使用记录在案的功能,30个月前的重大问题,随机503,标题后没有任何重试。。这是社区开发的API,还是微软向员工支付的?现在是从迁移的时候了。您找到解决此问题的方法了吗?作为一种解决方法,我认为通过删除isDraft筛选器,它可以工作。但这绝对是他们这边的问题。。。我希望他们真的在调查这些问题。。。