对于本地分析服务(引用 https://learn.microsoft.com/en-us/sql/analysis-services/instances/configure-http-access-to-analysis-services-on-iis-8-0 ),可以配置 http 端点(您可以使用它来实现自定义身份验证)。有没有办法为 azure 版本的分析服务公开http端点?
我尝试使用 msmdpump.ini,但得到的只是各种错误。
更新 查看反射(reflect)的 Microsoft.AnalysisServices.AdomdClient.dll - azure 端点实际上是 http 端点。沟通过程如下:
POST https://[yourregion].asazure.windows.net/webapi/clusterResolve
{"serverName":"your_as_server_name"}
回复:
{"clusterFQDN":"[prefix]-[yourregion].asazure.windows.net",
"coreServerName":"your_as_server_name",
"tenantId":"... tenantID"}
然后
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
因此从理论上讲,人们应该能够利用它来创建 http 代理。然而,这些都没有记录/官方支持。
最佳答案
我尝试了这个并使其适用于执行的情况(您可以对大多数任务使用执行+语句) 对于第二个请求,您还需要三个 header (不确定用户代理):
User-Agent: XmlaClient
SOAPAction: urn:schemas-microsoft-com:xml-analysis:Execute
x-ms-xmlacaps-negotiation-flags: 1,0,0,0,0
关于azure - 连接到azure分析服务时是否可以使用msmdpump方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44518734/