【问题标题】:Azure Timeseries insights API Internal server error on all API requestsAzure Timeseries 见解 API 所有 API 请求的内部服务器错误
【发布时间】:2019-07-11 15:28:17
【问题描述】:

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

【问题讨论】:

  • 您收到 500 内部服务器错误意味着代码正在破坏,请检查您传递给时间 API 的数据。
  • @RahulRana 如果我做一个简单的测试并将以下内容传递给 API,我仍然会收到错误消息。尽管这几乎是直接从 API 参考文档中复制的:{ "searchSpan": { "from": { "dateTime": "2019-07-09T00:00:00.000Z" }, "to": { "dateTime" :“2019-07-10T00:00:00.000Z”}},“采取”:10}
  • 那么可能是 api 不工作,它的 down

标签: javascript node.js azure axios azure-timeseries-insights


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多