《Windows Azure Platform 系列文章目录》
我们使用Azure Analysis Service的时候,服务器地址为:asazure://[YourAASName].asazure.chinacloudapi.cn/[ModelName]
比如笔者的环境,AAS服务器地址为:asazure://chinaeast2.asazure.chinacloudapi.cn/leiaas
这个名字比较长,我们是否有其他方式,给这个AAS服务器地址设置一个别名?
使用服务器别名的场景:
- 提供给用户,更容易记住的友好的服务器名字
- 当从1个AAS模型拆分到多个AAS模型,或者从多个AAS合并为1个模型,我们需要动态的使用AAS服务器地址
- 灾备情况 (Disaster Recovery, DR)。比如我们在进行AAS DR演练的时候,需要把AAS从一个Azure数据中心迁移到另外一个Azure数据中心,但是我们希望AAS的地址能动态配置
针对上面的情况,我们可以在连接到Azure Analysis Services 服务器时使用较短的别名来代替服务器名称。从客户端应用程序进行连接时,可以使用 link:// 协议格式将别名指定为终结点。 然后,终结点会返回进行连接所需的真实的服务器名称。
这里我们先演示使用ASP.NET实现。主要的步骤有:
- 在本地编写Web程序
- 把Web程序发布到Azure App Service里
- AAS地址,从Azure App Service里动态获得。然后设置link://将别名设置为AAS访问地址
我这里演示一下:
1.我的Azure China Analysis Service, DNS Name: asazure://chinaeast2.asazure.chinacloudapi.cn/leiaas
2.Database name:adventureworks。截图略:
3.创建ASP.NET程序,类型为C#。增加default.aspx页面,增加代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace leiaasalias01 { public partial class _default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //这里返回Azure Analysis Service地址: this.Response.Write("asazure://chinaeast2.asazure.chinacloudapi.cn/leiaas"); } } }
4.把上面的ASP.NET代码,发布到Azure App Service里。访问地址是:https://leiaasalias01.chinacloudsites.cn/
显示如下:
5.我们发布的Azure App Service地址是:https://leiaasalias01.chinacloudsites.cn/
则访问的AAS Link Server地址是:link://leiaasalias01.chinacloudsites.cn
6.我在Power BI Desktop里面,选择数据源类型为Azure Analysis Service,连接这个AAS。
选择Direct Query,如下图:
7.在登录页面,选择Microsoft登录账户,如下图:
8.登录成功,后面的步骤略。