从 Azure Web API 使用 Azure Analysis Services 数据

Consume Azure Analysis Services data from Azure Web APIs

我有一个 Azure 分析服务模型,我正在尝试使用 ADOMD 和 Dax 查询从 Azure Web API/Azure Functions 进行查询。我找不到任何可以与 Azure 分析服务器一起使用的 nuget 包,我唯一能找到的是:

https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-connect

我按照上述 post 安装了客户端组件,我能够使用控制台应用程序从我的本地计算机连接到 Azure AS。但我的最终目标是从 Azure WebAPI 和 AFAIK 连接到 Azure AS,我将无法在那里安装客户端组件。 如果您使用过 Azure 分析服务 + Azure Web APIs.

,请分享任何信息

谢谢

据我所知,Azure Web 应用程序 运行 在名为 sandbox. You could not install any components. Per my understanding, you could install the latest providers on your side, then manually copy Microsoft.AnalysisServices.Tabular.DLL and Microsoft.AnalysisServices.Tabular.DLL to your console application and add as the reference to your project for connecting to Azure Analysis Services. Here is a code sample, you could refer to here.

的安全环境中

对于 Azure Web 应用程序,我假设您可以引用上述两个库并连接到 Azure 分析服务。此外,您还可以使用Azure Functions配合Azure Analysis服务,更详细的教程可以参考这个官方博客here.

刚刚在 Azure WEB API 中对其进行了测试,ADOMD 只需添加对最新 Microsoft.AnalysisServices.AdomdClient dll(版本:14.0.0.0)的引用即可工作。示例代码:

var connectionString = $"Provider=MSOLAP;Data Source=asazure://<azure location>.asazure.windows.net/<SSAS name>;Initial Catalog=adventureworks;User ID=<userid>;Password=****;Persist Security Info=True;Impersonation Level=Impersonate";
            var ssasConnection = new AdomdConnection(connectionString);
            ssasConnection.Open();
            var query = @"EVALUATE(Customer)";
            var cmd = new AdomdCommand(query)
            {
                Connection = ssasConnection
            };
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    for (var i=0;i<reader.FieldCount;i++)
                    {
                        Console.WriteLine(reader[i]);
                    }
                    break;
                }
            }

我的博客也差不多:https://unnieayilliath.com/2017/11/12/connecting-to-azure-analysis-services-using-adomd/