首页 > 解决方案 > Azure Timeseries 见解 API 所有 API 请求的内部服务器错误

问题描述

从 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 错误响应不是很具有描述性,所以我有点卡住了。有谁知道这可能仍然是授权问题还是我的请求结构错误?

标签: javascriptnode.jsazureaxiosazure-timeseries-insights

解决方案


API 已启动。我发现预览 API 与 GA API 完全不同。并且我们的 TSI 实例正在预览模式下运行...


推荐阅读