3

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.

Ondrej Svejdar
  • 21,349
  • 5
  • 54
  • 89
  • I guess it should be possible by publishing web app that uses ISAPI extension. Of course that will be IIS web server with ole db drivers-preinstalled. Going to try it – George Jun 17 '17 at 22:43
  • Any news? I'm playing with it with no luck for couple of days... – pavel242 Feb 19 '18 at 11:26

1 Answers1

1

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
Igor Be
  • 898
  • 7
  • 17