Ondrej Svejdar
Ondrej Svejdar

Reputation: 22074

Is it possible to use msmdpump approach when connecting to azure analysis service

For on-prem analysis services (reference https://learn.microsoft.com/en-us/sql/analysis-services/instances/configure-http-access-to-analysis-services-on-iis-8-0) it is possible to configure http endpoint (which you can use for implementing custom authentication). Is there a way to expose http endpoint also for azure version of analysis services ?

I tried playing with msmdpump.ini and all I got was various errors.

UPDATE Looking at reflected Microsoft.AnalysisServices.AdomdClient.dll - the azure endpoint actually IS http endpoint. The communication goes like:

POST https://[yourregion].asazure.windows.net/webapi/clusterResolve
{"serverName":"your_as_server_name"}

Reply:

{"clusterFQDN":"[prefix]-[yourregion].asazure.windows.net",
 "coreServerName":"your_as_server_name",
  "tenantId":"... tenantID"}

And then

POST https://[prefix]-[yourregion].asazure.windows.net/webapi/xmla
Authorization: Bearer your_azure_ad_jwt_here
x-ms-xmlaserver: your_as_server_name
// xmla request inside the body

So in theory one should be able to leverage that to create a http proxy. However neither of those is documented/officially suported.

Upvotes: 3

Views: 807

Answers (1)

Igor Be
Igor Be

Reputation: 908

I tried this and made it work for case of Execute (you can use Execute + Statement for most tasks) With second request you need three more headers (not sure about User-Agent):

User-Agent: XmlaClient
SOAPAction: urn:schemas-microsoft-com:xml-analysis:Execute
x-ms-xmlacaps-negotiation-flags: 1,0,0,0,0

Upvotes: 1

Related Questions