Analysis Services REST API missing location header

Ivan Johannessen 11 Reputation points
2022-10-19T15:02:35.853+00:00

The REST API to refresh the tabular model (https://learn.microsoft.com/en-us/azure/analysis-services/analysis-services-async-refresh) is supposed to return a Location header that can be used to obtain progress information. This has now stopped working. The refresh starts but there is no way to monitor progress without the Location header. Anyone else experiencing this?

Azure Analysis Services
Azure Analysis Services
An Azure service that provides an enterprise-grade analytics engine.
479 questions
{count} vote

1 answer

Sort by: Most helpful
  1. Ivan Johannessen 11 Reputation points
    2022-10-21T06:35:10.927+00:00

    Hi BhargavaGunnam-MSFT,

    Thank you for replying. Yes, the "Disable async pattern" checkbox is checked. Here is a sample response:
    {
    "startTime": "2022-10-21T01:17:37.9288788Z",
    "type": "full",
    "status": "notStarted",
    "currentRefreshType": "full",
    "objects": [],
    "ADFWebActivityResponseHeaders": {
    "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
    "x-ms-root-activity-id": "bad6cd20-9821-4a8a-911f-de3ee4fd7241",
    "x-ms-current-utc-date": "10/21/2022 1:17:38 AM",
    "X-Frame-Options": "deny",
    "X-Content-Type-Options": "nosniff",
    "X-XSS-Protection": "1; mode=block",
    "Content-Security-Policy": "script-src 'self'",
    "Date": "Fri, 21 Oct 2022 01:17:39 GMT",
    "Server": "Microsoft-HTTPAPI/2.0",
    "Content-Length": "148",
    "Content-Type": "application/json"
    },
    "effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (West Europe)",
    "executionDuration": 3,
    "durationInQueue": {
    "integrationRuntimeQueue": 1
    },
    "billingReference": {
    "activityType": "ExternalActivity",
    "billableDuration": [
    {
    "meterType": "AzureIR",
    "duration": 0.016666666666666666,
    "unit": "Hours"
    }
    ]
    }
    }
    As you can see the ADFWebActivityResponseHeaders is returned but is missing the Location header. Notice the status is "notStarted". I assume if the refresh is not started there is no refreshId and therefore no Location header. But why did this change? It used to work just a few days ago.
    This MS documentation https://learn.microsoft.com/en-us/azure/analysis-services/analysis-services-async-refresh states the Location header should be returned.

    However, I have found a workaround thanks to a post by Filippo Leporati (https://www.filepora.com/post/refresh-azure-analysis-service-model-with-azure-data-factory-v2-and-azure-key-vault). He shows how to GET the most recent refreshes and filter the list down to the most recent. From there I get the refreshId and use it to monitor the progress and get the final status.

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.