从 Nodejs 调用 Timeseries Insights API 时,每次发出请求时都会收到 500 内部服务器错误。例如:
const res = await getToken(
'https://login.microsoftonline.com/',
process.env.TENANT_ID,
'https://api.timeseries.azure.com/',
process.env.CLIENT_ID,
process.env.CLIENT_SECRET
);
const token = res.data.access_token;
const result = await axios.post(
`https://${process.env.TIME_SERIES_INSIGHTS_FQDN}/events?api-version=2016-12-12`,
{
searchSpan: {
from: {
dateTime: moment()
.subtract(1, 'day')
.startOf('day')
.format(),
},
to: {
dateTime: moment()
.subtract(1, 'day')
.endOf('day')
.format(),
},
},
breaks: {
count: 1000
},
},
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
return result;
getToken 函数返回一个有效的访问令牌,该令牌被授权调用 Timeseries API。我知道这一点是因为在出现此问题之前,我没有获得有效的令牌,并且收到了关于令牌无效的更具描述性的错误。
据我所知,请求参数都是正确的。根据 API 文档,searchSpan
限制子句 ( breaks
) 是强制性参数。
我从邮递员那里得到同样的错误。
500 Internal Server 错误响应不是很具有描述性,所以我有点卡住了。有谁知道这可能仍然是授权问题还是我的请求结构错误?