【问题标题】:Monitoring Tabular Refresh with REST API - Obtaining Refresh ID使用 REST API 监控表格刷新 - 获取刷新 ID
【发布时间】:2019-01-28 19:31:56
【问题描述】:

我正在使用逻辑应用和 REST API 在 Azure 中刷新表格模型。这在此处进行了详细说明;

https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-async-refresh

刷新从 POST 开始,这很好。但是我想轮询 SSAS 实例以了解处理何时完成。该文件指出;

“响应中的 Location 标头包括刷新 ID。客户端应用程序可以断开连接并稍后根据需要检查状态,因为它是异步的。”

但是头部响应是这样的;

{
    "statusCode": 200,
    "headers": {
        "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
        "x-ms-root-activity-id": "37b7dda1-5ee8-4a56-868a-c98bfea617ec",
        "x-ms-current-utc-date": "1/28/2019 5:23:10 PM",
        "X-Frame-Options": "deny",
        "X-Content-Type-Options": "nosniff",
        "X-XSS-Protection": "1; mode=block",
        "Content-Security-Policy": "script-src 'self'",
        "Date": "Mon, 28 Jan 2019 17:23:10 GMT",
        "Server": "Microsoft-HTTPAPI/2.0",
        "Content-Length": "2680",
        "Content-Type": "application/json"
    },
...

没有位置值给我一个 ID 来监控 GET 请求。我知道我可以使用不提供 ID 的 GET 返回所有历史请求 - 但是在函数应用程序中要确定哪个是最新的等会很笨重。

有谁知道我如何获得刷新 ID?

【问题讨论】:

  • 嘿,你找到了吗?我也是这种情况,不知道去哪里找refreshid
  • @Kaja 我没有,你在使用逻辑应用吗?我确实找到了可以在此发布的解决方法。
  • 这太垃圾了。绝对找不到 Location 标头。在过去的几年里,微软在文档方面的投入非常大。简直就是垃圾。
  • 是的,从数据工厂或逻辑应用程序中您看不到它。我所做的是获取所有刷新并循环通过它们检查状态。由于我正在刷新表格,因此一次只能激活一个进程,因此我将引导进行中的刷新。然后我投票。或者,您可以在发布之前获取时间戳以刷新它并循环遍历所有大于 thst 时间的刷新。
  • 我想我明白了。在下面检查我的答案。

标签: rest azure ssas ssas-tabular


【解决方案1】:

进入 HTTP Activity 并单击右上角的省略号以调出菜单,然后单击“设置”图标。在设置中,禁用“异步模式”的行为,因为您想自己进行轮询。

这将导致 HTTP Activity 在收到 HTTP 响应状态代码 202 时停止,并且 Location Header 将可用。启用“异步模式”后,它会轮询直到收到 200,它只返回资源的表示(刷新)。不幸的是,该表示不包含它自己的标识符,这在这个特定的用例中很有趣。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 2015-10-30
    相关资源
    最近更新 更多