专栏名称: 微软中国MSDN
微软中国MSDN开发社区官方微信。
目录
相关文章推荐
沪考一点通  ·  华二6人!2025信奥上海队名单公示! ·  昨天  
姑苏晚报  ·  官方点名通报 ·  昨天  
姑苏晚报  ·  官方点名通报 ·  昨天  
雪漠禅坛  ·  如何看待道德理想主义? ·  2 天前  
雪漠禅坛  ·  如何看待道德理想主义? ·  2 天前  
51好读  ›  专栏  ›  微软中国MSDN

中国区 Azure 应用程序开发说明

微软中国MSDN  · 公众号  ·  · 2017-08-29 19:00

正文

1

文档简介


微软公司为其在境外由微软运营的 Azure 服务(以下简称为 “境外 Azure”),创建和部署云应用程序,提供了相应工具。


在中国,由世纪互联运营的 Microsoft Azure (以下简称为 “中国区 Azure”)是独立的服务平台,由世纪互联公司提供并运营,其数据中心位于中国大陆(不包括香港特别行政区、澳门特别行政区和中国台湾地区)。因此,创建和部署应用程序时,开发人员需先了解中国区 Azure 和境外 Azure 的主要区别,然后再设置编程环境,编写应用程序,部署在中国托管的服务。


本文档概述了这两种服务的区别,并为中国 Azure 门户提供补充信息。同时,官方信息也会通过多个途径发布,例如 Azure 海报以及博客。本文目标读者为在中国部署、托管数据中心的合作伙伴及开发人员。


有关中国区 Azure 服务功能的更新,请访问中国 Azure 门户。有关当前 Azure 内容信息,请参阅本文档附录。


2

开发人员指南


目前微软公司提供的大部分英文技术文档中,应用程序都针对境外 Azure 开发,而非中国区 Azure,因此开发人员必须了解两者主要区别:


首先,两者存在功能差异,境外 Azure 的某些功能在中国不可用。


其次,中国区 Azure 与境外 Azure 的服务功能存在操作差异,因此使用为境外 Azure 编写的英文文档时,开发人员应该根据需要,自定义示例代码和步骤。


3

中国数据中心


目前,中国区 Azure 有两个数据中心,在位置字段中显示为“中国北部”和“中国东部”。

4

在 Azure 上创建应用程序的区别


在中国区 Azure 上开发应用程序与在境外 Azure 上开发的主要区别在于,中国区 Azure 端点地址有不同的 URI。 例如,Azure 和 SQL 数据库 URI 通常以 windows.net 结尾。 URI 端点不同时,开发人员必须能够识别,然后配置所需的工具和应用程序,并使用适合的 URI。


5

设置开发计算机


Visual Studio 2015 支持在中国区 Azure 上开发,使用 Visual Studio 2015 update 3。


使用 Visual Studio 2015 ,连接中国区 Azure


步骤如下:


1.请使用以下注册表文件:


Azure.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VSCommon\ConnectedUser]
"AadInstance"="https://login.chinacloudapi.cn/"
"adaluri"="https://management.core.chinacloudapi.cn"
"AzureRMEndpoint"="https://management.chinacloudapi.cn"
"AzureRMAudienceEndpoint"="https://management.core.chinacloudapi.cn"
"EnableAzureRMIdentity"="true"
"GraphUrl"="graph.chinacloudapi.cn"

若要将 Reg 值返回境外 Azure,请使用此处的注册表文件:


TargetProduction.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VSCommon\ConnectedUser]
"Uri"=-
"AadInstance"=-
"adaluri"=-
"AzureRMEndpoint"=-
"AzureRMAudienceEndpoint"=-
"EnableAzureRMIdentity"=-
"GraphUrl"=-
"AadApplicationTenant"=-

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0\MicrosoftAzureServices]
"Resource Management Audience Endpoint"=-
"Service Management Endpoint"=-

2.双击 Azure.reg 文件,同意弹出信息,允许注册表值更改;


3.注册表值更改后,Visual Studio 的登录信息连接到中国区 Azure 服务。


使用 Visual Studio 2017 ,连接中国区 Azure


Visual Studio 2017 刚刚发布,我们引入了新的方式来连接到中国区 Azure 服务。


步骤如下:


新建一个 JSON 文件 AadProvider.Configuration.json,文件内容如下:

{
"AuthenticationQueryParameters": null,
"AsmEndPoint": "https://management.core.chinacloudapi.cn",
"Authority": "https://login.chinacloudapi.cn/",
"AzureResourceManagementEndpoint": "https://management.chinacloudapi.cn/",
"AzureResourceManagementAudienceEndpoints": [ "https://management.core.chinacloudapi.cn/" ],
"ClientIdentifier": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1",
"EnvironmentName": "Mooncake",
"GraphEndpoint": "https://graph.chinacloudapi.cn",
"MsaHomeTenantId": "f577cd82-810c-43f9-a1f6-0cc532871050",
"NativeClientRedirect": "urn:ietf:wg:oauth:2.0:oob",
"PortalEndpoint": "http://manage.windowsazure.cn",
"ResourceEndpoint": "https://management.core.chinacloudapi.cn/",
"ValidateAuthority": true,
"VisualStudioOnlineEndpoint": "https://app.vssps.visualstudio.com/",
"VisualStudioOnlineAudience": "499b84ac-1321-427f-aa17-267ca6975798"
}

连接到中国区 Azure 服务


1.确保已登出并关闭 Visual Studio。


2.删除 %temp%\servicehub 文件夹(详细路径为 C:\Users\%USERPROFILE%\AppData\Local\Temp\servicehub)。


3.把前面新建的 JSON 文件 (AadProvider.Configuration.json) 拷贝到 %localappdata%\.IdentityService\AadConfigurations(详细路径为 C:\Users\%USERPROFILE%\AppData\Local\.IdentityService\AadConfigurations, AadConfigurations 文件夹可能不存在,需要手动创建)。


4.重启 VS 并添加中国 Azure 账户即可。


切换回 Global Azure


1.确保已登出并关闭 Visual Studio。


2.删除文件夹。%localappdata%\.IdentityService\AadConfigurations


3.重启 VS 即可连接 Global Azure。


6

Java 用户使用中国区 Azure


Java 用户使用 Eclipse IntelliJ ,连接中国区 Azure


目前需要开发者使用 Azure CLI 生成认证文件,在 Eclipse 或 IntelliJ 中选择基于文件的方式登陆,并上传此认证文件,即可完成连接 ( 参考 Azure SDK 相关页 )。


步骤如下:


1.请首先安装 Azure CLI,版本要求 2.0 及以上。


2.使用 Azure CLI 生成认证文件并保存至本地。


a. 使用 az cloud set --name AzureChinaCloud 连接中国区 Azure。


b. 使用 az login -u -p 替换其中的账号和密码,登陆 Azure。


c. 如果在中国区 Azure 有多个订阅账户 Subscription,使用 az account set --subscription 选择用来生成认证信息的订阅账户。


d. 使用以下命令,生成认证文件 my.azureauth 并保存于本地。 curl -L https://raw.githubusercontent.com/Azure/azure-sdk-for-java/master/tools/authgen.py | python > my.azureauth


3.在 Eclipse 或 IntelliJ 中,选择基于文件的方式登陆,并上传步骤 2 中生成的认证文件。


a. 请确认已在 Eclipse 或 IntelliJ 中安装或更新至最新版本的 Azure Toolkit 插件。


b. 在 Azure Sign In 窗口选择 Automated 作为登陆方式,并上传步骤 2 中生成的认证文件 my.azureauth。



c. 点击登陆,即可连接中国区 Azure。如遇问题,可在 Azure Toolkit 相关页提出并标记 Mooncake 标签。


7

实用场景示例


云浏览器


1.按照说明输入认证信息;



2.输入登录信息;



3.从 Cloud Explorer 查看中国区 Azure 订阅中的资源。



发布 Web 应用程序


1.单机右键菜单,选择 “发布” 对话框;



2.选择 Microsoft Azure App Service;



3.从帐户选择器中选择 Azure 帐户;



Azure 资源管理器工具


1.单机右键菜单,选择 “部署” 对话框;



2.从帐户选择器中选择 Azure 帐户;



3.对于在资源模板中出现、但中国区 Azure 不支持的资源,该界面会发出警告;


4.编辑模板参数,继续部署。


其他功能的步骤与此类似。


8

中国区 Azure 资源端点URI (供应用程序代码使用)


中国区 Azure 的 URI 与境外 Azure 的 URI 存在差异。 用户需确保,在应用程序代码和配置文件使用适当字符串的前提下,再与中国区 Azure 端点连接。 请注意,如果 Visual Studio 连接到中国区 Azure 订阅,Visual Studio 生成的连接字符串会自动使用中国区 Azure URI,连接每个资源。


端点映射


下表指导用户将境外 Azure 资源端点映射到中国特定端点。


服务类型 在境外由微软运营的 Microsoft Azure URI 由世纪互联运营的 Microsoft Azure URI
Azure - 常规 *.windows.net *.chinacloudapi.cn
Azure - 计算 *.cloudapp.net *.chinacloudapp.cn
Azure - Service Fabric Cluster *.cloudapp.azure.com *.cloudapp.chinacloudapi.cn
Azure - 存储

*.blob.core.windows.net

*.queue.core.windows.net

*.table.core.windows.net

*.file.core.windows.net

*.blob.core.chinacloudapi.cn

*.queue.core.chinacloudapi.cn

*.table.core.chinacloudapi.cn

*.file.core.chinacloudapi.cn

Azure - 服务管理 https://management.core.windows.net https://management.core.chinacloudapi.cn
Azure - 资源管理器 (ARM) https://management.azure.com https://management.chinacloudapi.cn
SQL 数据库 *.database.windows.net *.database.chinacloudapi.cn
Azure - 管理门户

http://manage.windowsazure.com

https://portal.azure.com

https://manage.windowsazure.cn

https://portal.azure.cn

SQL Azure 数据库管理 API https://management.database.windows.net https://management.database.chinacloudapi.cn
服务总线 *.servicebus.windows.net *.servicebus.chinacloudapi.cn
ACS *.accesscontrol.windows.net *.accesscontrol.chinacloudapi.cn
HDInsight *.azurehdinsight.net *.azurehdinsight.cn
MySQL Paas - *.mysqldb.chinacloudapi.cn
Azure PowerShell Login (Classic, 旧的 Azure 服务管理) Add-AzureAccount Add-AzureAccount -Environment AzureChinaCloud
Azure PowerShell Login (Azure 资源管理) Add-AzureRmAccount Add-AzureRmAccount -EnvironmentName AzureChinaCloud
AAD *.onmicrosoft.com *.partner.onmschina.cn
AAD PowerShell Login Connect-msolservice Connect-msolservice -AzureEnvironment AzureChinaCloud
AAD Login https://login.windows.net https://login.chinacloudapi.cn
AAD Graph API https://graph.windows.net https://graph.chinacloudapi.cn
Azure 认知服务 https://api.projectoxford.ai/face/v1.0 https://api.cognitive.azure.cn/face/v1.0
SQL 数据库导入/导出服务映射端点

1. 中国东部:https://sh1prod-dacsvc.chinacloudapp.cn/dacwebservice.svc

2. 中国北部:https://bj1prod-dacsvc.chinacloudapp.cn/dacwebservice.svc

Power BI Embedded https://api.powerbi.com https://api.powerbi.cn
Power BI Embedded https://embedded.powerbi.com https://embedded.powerbi.cn
O365 https://login.microsoftonline.com https://login.partner.microsoftonline.cn
Device Login https://aka.ms/devicelogin https://aka.ms/deviceloginchina 或者 https://login.chinacloudapi.cn/common/oauth2/deviceauth
Documentdb documents.azure.com documents.azure.cn
Traffic Manager *.trafficmanager.net *.trafficmanager.cn
Media Services resource https://rest.media.azure.net https://rest.media.chinacloudapi.cn
Media Services Rest API https://accountname.restv2. .media.azure.net/api/ https://accountname.restv2. .media.chinacloudapi.cn/api/


存储端点


开发人员必须使用自定义存储端点。 默认设置指向 *.core.windows.net ,其中 * 随着用 户应用程序和存储位置的不同而不同。








请到「今天看啥」查看全文