使用REST API监视表格刷新-获取刷新ID

时间:2019-01-28 19:31:56

标签: rest azure ssas ssas-tabular

我正在使用逻辑应用程序和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?

1 个答案:

答案 0 :(得分:1)

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

这将导致HTTP活动在收到HTTP响应状态代码202时停止,并且位置标头将可用。启用“异步模式”后,它将轮询直到接收到200,该200仅返回资源的表示形式(刷新)。不幸的是,该表示不包括其自己的标识符,在这种特殊使用情况下,这很可笑。