微软公司为其在境外由微软运营的 Azure 服务(以下简称为 “境外 Azure”),创建和部署云应用程序,提供了相应工具。
在中国,由世纪互联运营的 Microsoft Azure (以下简称为 “中国区 Azure”)是独立的服务平台,由世纪互联公司提供并运营,其数据中心位于中国大陆(不包括香港特别行政区、澳门特别行政区和中国台湾地区)。因此,创建和部署应用程序时,开发人员需先了解中国区 Azure 和境外 Azure 的主要区别,然后再设置编程环境,编写应用程序,部署在中国托管的服务。
本文档概述了这两种服务的区别,并为中国 Azure 门户提供补充信息。同时,官方信息也会通过多个途径发布,例如 Azure 海报以及博客。本文目标读者为在中国部署、托管数据中心的合作伙伴及开发人员。
有关中国区 Azure 服务功能的更新,请访问中国 Azure 门户。有关当前 Azure 内容信息,请参阅本文档附录。
目前微软公司提供的大部分英文技术文档中,应用程序都针对境外 Azure 开发,而非中国区 Azure,因此开发人员必须了解两者主要区别:
首先,两者存在功能差异,境外 Azure 的某些功能在中国不可用。
其次,中国区 Azure 与境外 Azure 的服务功能存在操作差异,因此使用为境外 Azure 编写的英文文档时,开发人员应该根据需要,自定义示例代码和步骤。
目前,中国区 Azure 有两个数据中心,在位置字段中显示为“中国北部”和“中国东部”。
在中国区 Azure 上开发应用程序与在境外 Azure 上开发的主要区别在于,中国区 Azure 端点地址有不同的 URI。 例如,Azure 和 SQL 数据库 URI 通常以 windows.net 结尾。 URI 端点不同时,开发人员必须能够识别,然后配置所需的工具和应用程序,并使用适合的 URI。
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。
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 标签。
云浏览器
1.按照说明输入认证信息;
2.输入登录信息;
3.从 Cloud Explorer 查看中国区 Azure 订阅中的资源。
发布 Web 应用程序
1.单机右键菜单,选择 “发布” 对话框;
2.选择 Microsoft Azure App Service;
3.从帐户选择器中选择 Azure 帐户;
Azure 资源管理器工具
1.单机右键菜单,选择 “部署” 对话框;
2.从帐户选择器中选择 Azure 帐户;
3.对于在资源模板中出现、但中国区 Azure 不支持的资源,该界面会发出警告;
4.编辑模板参数,继续部署。
其他功能的步骤与此类似。
中国区 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
,其中 * 随着用
户应用程序和存储位置的不同而不同。