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

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。

 

 

6Java 用户使用中国区 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 <account email> -p <account password> 替换其中的账号和密码,登陆 Azure。

 

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

 

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 帐户;                                                                                                                                                                                                                          

 

 

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.<location>.media.azure.net/api/ https://accountname.restv2.<location>.media.chinacloudapi.cn/api/

 

存储端点

 

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

 

例如,在 Cloud Services 应用程序的服务配置文件(.cscfg)中,设置自定义数据连接字符串,指向中国区 Azure 的 blob,队列和表存储 URI。 以下代码为自定义端点的示例,其中 <AccountKey> 变量必须由特定的存储帐户键替换。 字符串 mystorageaccount 是在订阅下创建的存储帐户示例。

<Setting name="DataConnectionString"
value="BlobEndpoint=https://mystorageaccount.blob.core.chinacloudapi.cn/;QueueEndpoint=https://mystorageaccount.queue.core.chinacloudapi.cn/;TableEndpoint=https://mystorageaccount.table.core.chinacloudapi.cn/;AccountName=mystorageaccount;AccountKey=<AccountKey> " />

在 Visual Studio 中创建自定义端点

 

用户可通过 Azure 云服务应用程序,为连接字符串创建自定义端点:

 

  • 打开含一个或多个角色的 Azure 解决方案;

  • 右键单击 Solution Explorer 中的任意角色,弹出该角色的配置;

  • 单击 Settings;

  • 单击 Add Setting;

  • 为设置键入名称;

  • 选择连接字符串的类型;

  • 单击…弹出 Storage Account Connection String 对话框;

  • 选择 Enter storage account credentials;

  • 输入正确的存储帐户名和密钥;

  • 选择 Use custom endpoints,然后为 blob、表和队列端点输入正确的 https 字符串;

  • 单击 OK。

 

Visual Studio 在服务配置文件中创建自定义存储端点,开发人员可以从角色代码中使用此存储端点。

 

以下代码通过使用为中国区 Azure 特定的自定义 URL,以编程方式连接到存储帐户。

CloudStorageAccount Account = new CloudStorageAccount(
new StorageCredentialsAccountAndKey(ACCOUNTNAME, ACCOUNTKEY),
new Uri("http://ACCOUNTNAME.blob.core.chinacloudapi.cn/"),
new Uri("http://ACCOUNTNAME.queue.core.chinacloudapi.cn/"),
new Uri("http://ACCOUNTNAME.table.core.chinacloudapi.cn/")
);
CloudBlobClient BlobClient = Account.CreateCloudBlobClient();

9.Azure 云服务应用程序中的端口绑定

 

端口绑定同样使用以 .cloudapp.net 结尾的 DNS 名称。用户必须更改这些名称,指向 .chinacloudapp.cn。以下显示了包括端口说明的部分服务定义文件:

 

<Sites>
   <Site name="MySite" physcalDirectory="..\WebSite1">
       <Bindings>
           <Binding name="My" endpointName="HttpIn" hostHeader="WebSite1.mysite.Chinacloudapp.cn" />
       </Bindings>
   </Site>
   <Site name="Web">
       <Bindings>
               <Binding name="HttpIn" endpointName="HttpIn" />
       </Bindings>
   </Site>
</Sites>

10.连接 SQL 数据库服务器

 

SQL 数据库服务器名称将由 *.database.windows.net 更改为 *.database.chinacloudapi.cn。 所有客户端应用程序或工具都必须使用新名称命名其连接字符串,连接到数据库。 对于未在中国区 Azure 运行的应用程序,可参照 SQL 数据库服务器的值,该值可以是服务定义文件中的 DataConnectionString 值,或 .NET 其它配置文件中的值。 例如:

<configuration>
   <connectionStrings>
       <add name="SQLAzure" connectionString="Server=tcp:yourserver.database.chinacloudapi.cn,1433;
       Database=Test;User ID=login@server;Password=yourPassword;
       Trusted_Connection=False;Encrypt=True;"/>
   </connectionStrings>
</configuration>

11.Active Directory 和服务总线

 

Active Directory

 

Azure Active Directory(AAD)可以为本地部署和云应用程序提供身份和访问功能。开发人员利用 AAD 功能,可为企业应用程序和软件即服务(SaaS)供应商实现单点登录和单点注销;可通过使用图形 API 查询和管理云目录对象;还可以与本地 Active Directory 整合,将目录数据同步到云端。

 

中国区 Azure 包含 Azure AD。然而从设计角度讲,仍存在一些影响开发人员体验的差异,以下会展开介绍。

 

中国区 Azure 是个自定义产品,虽然与境外 Azure 有许多共同特性,但自定义仍会导致以下差异,对开发人员使用 AAD 造成影响:

 

  • 中国区 Azure 不包含访问控制(Access Control)命名空间。要集成应用程序以及与 Azure 身份验证服务同步的目录,需要使用 Azure 中的 Active Directory。在 Azure 经典管理门户中,单击" Active Directory”。

  • ACS 管理门户仅适用于服务总线命名空间。

  • 除了这些自定义带来的差异,中国区 Azure 中的 Azure AD 设计与境外 Azure 全部一致。

 
Note

中国区 Azure 在预览期间,其创建的访问控制命名空间既不能操作,也不能访问。 但是,类似的功能可在 Azure 管理门户的 Active Directory 中使用。

 

服务总线配置

 

如果使用共享访问签名(SAS)连接服务总线,只需在项目配置文件中更改端点即可。

 

如果使用访问控制服务(ACS)连接服务总线,可以采取以下任一选项,将使用服务总线的应用程序重定向到特定端点:

 

  • 选项 1:使用环境变量重定向单个或全部应用程序。

  • 选项 2:使用 ServiceBus.config 文件重定向单个应用程序。

  • 选项 3:使用 ServiceBus.config 文件重定向全部应用程序。

 

如果 EXE 文件或工作人员角色处于运行状态,任一选项均可用。 如果使用 Web 角色,仅选项 3 可用。

 

无论选择哪种选项,端点名称都将按照下表进行更改。

 

服务总线端点 等效的中国 Azure 服务总线端点
servicebus.windows.net servicebus.chinacloudapi.cn
accesscontrol.windows.net accesscontrol.chinacloudapi.cn

 

选项1:使用环境变量进行重新定向

 

1.考虑变量设置的级别。 对于整个计算机、单个用户或运行单个应用程序的环境,其环境变量设置的含义都不相同。

 

2.以适当的级别设置以下环境变量:

RELAYHOST=servicebus.chinacloudapi.cn
STSHOST=accesscontrol.chinacloudapi.cn
RELAYENV=Custom

Warning

通过 csdef 文件中的 <environment> 标记为 Web 角色添加环境变量时,此选项不可用。 Web 角色在 w3wp.exe 的上下文中运行。 环境变量不会传播到 w3wp.exe 环境。 请参阅 Web 角色的选项 3。

 

选项 2:使用 ServiceBus.config 文件重定向单个应用程序:

 

1.创建如下的 ServiceBus.config 文件,其中包含适当的主机信息。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <Microsoft.ServiceBus>
       <relayHostName>servicebus.chinacloudapi.cn</relayHostName>
       <stsHostName>accesscontrol.chinacloudapi.cn</stsHostName>
   </Microsoft.ServiceBus>
</configuration>

2.将 ServiceBus.config 文件与服务总线 / ACS应用程序的 .exe 文件放置在同一目录中。

 

此选项不适用于 Azure 云服务 Web 角色,因为它们在 w3wp.exe 的上下文中运行。 因此,系统在 %Windir%\ System32 \ inetsrv \ 中查找 servicebus.config 文件时,该文件不存在。

 

选项 3:使用 ServiceBus.config 文件重定向全部应用程序:

 

1.在 .NET Framework 配置目录中查找现有的 ServiceBus.config 文件。 .NET Framework 配置目录取决于 32 位或 64 位的操作系统版本,以及已安装的框架版本,以下为常用位置。

 

Microsoft .NET Framework 版本 操作系统版本 目录
2.0 至 3.5 32 位 %Windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG
2.0 至 3.5 64 位 %Windir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG
4.0 32 位 %Windir%\Microsoft.NET\Framework\v4.0.30319\Config
4.0 64 位 %Windir%\Microsoft.NET\Framework64\v4.0.30319\Config

2.如果目录中存在现有的 ServiceBus.config 文件,必须编辑该文件,添加选项 2(使用 ServiceBus.config 重定向单个应用程序)列出的 XML 配置。 如果该配置添加后,与 ServiceBus.config 文件中的现有信息产生冲突,则不能使用此选项。 必须使用选项 1 或选项 2。

 

开发人员只有了解角色使用的框架,才能指向特定的框架目录。 但是,以下脚本概括了使用 Web 角色的复制过程。 如果 servicebus.config 文件存在,该脚本会将此文件复制到每个 .NET 目录中。

@echo off
pushd .
cd %windir%\Microsoft.Net\Framework64\
REM set copylocal=true on servicebus.config so its present in bin dir
for /f %%i in ('dir /s /b config') do copy /y %~dp0servicebus.config %%~fi
popd

12.使用服务管理 API

 

通过服务管理 API,开发人员可以对 Azure 中运行的托管服务进行部署管理。 事实上,境外 Azure 和中国区 Azure 的管理门户都使用服务管理 API。

 

境外 Azure 编写代码使用的路径为:https://management.core.windows.net。中国区 Azure 编写代码使用的路径为:https://management.core.chinacloudapi.cn。

13.重定将自定义域名定位到中国区 Azure 的托管服务中

 

如果用户使用的自定义域名被转发到境外 Azure 中运行的托管服务,并将该托管服务移至中国区 Azure,必须更新转发域,指向新的中国特定终端点。

 

例如,如果要将 www.contoso.com 重定向到运行在 contoso.cloudapp.net 的 web 角色中,那么现在就必须将其重定向到 contoso.chinacloudapp.cn 中。

14.使用 Azure 诊断

 

Azure 诊断通过使用开发计算机上的本地存储或中国区 Azure 存储帐户,存储诊断信息。

 

在* .cscfg 文件中添加以下配置信息:

<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="<YourStorageString>" />
</ConfigurationSettings>

<YourStorageString> 的值是个自定义端点,将URI并入中国区 Azure。

为 HTTPS 端点重新发布证书

 

15.使用自定义域名时无需更改证书。

 

如果任一现有应用程序使用 HTTPS 端点,并将证书绑定到 https://*.cloudapp.net(其中 * 是服务的名称),则必须为*.chinacloudapp.cn 重新发布证书。 在中国部署服务时,必须使用这些新证书。

16.使用 Azure PowerShell

 

在 PowerShell 控制台键入以下命令,登录 Azure China Cloud:

 

ASM 模式:

Add-AzureAccount -Environment AzureChinaCloud

ARM 模式

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

17.使用 Azure CLI

 

Azure CLI 1.0

 

在命令提示符下键入以下命令,登录 Azure China Cloud:

azure

 

login

-e

AzureChinaCloud

Azure CLI 2.0

 

在命令提示符下键入以下命令,登录 Azure China Cloud:

az

cloud

set

--name

AzureChinaCloud

az

 

login

18.为 Node.js 使用 Azure SDK

 

如果要在中国区 Azure 中使用 SDK,需从管理门户或 CLI 中提供连接字符串。

 

存储、服务总线和通知总线

 

存储、服务总线和通知中心都接受各自的连接字符串,可通过管理门户或使用 CLI 获取该值。

var tableService = azure.createTableService(storageConn);
var blobService= azure.createBlobService(storageConn);
var queueService = azure.createQueueService(storageConn);
var serviceBusService = azure.createServiceBusService(sbConn);
var notificationHubService = azure.createNotificationHubService(nhConn);

SQL

 

要管理 SQL 数据库服务器,可以使用此配置:

var sqlManagementService = azure.createSqlManagementService(subscriptionId, authentication, hostOptions);

19.附录:Azure 的内容库

 

以下列出了 Azure 当前可用的所有内容资产,并指明该资产是否专门针对中国区 Azure。

 

资产 内容是否专为中国创建 说明
azure.microsoft.com 在境外由微软运营的 Microsoft Azure 官网。
azure.cn 由世纪互联运营的 Microsoft Azure 官网
境外客户案例 http://azure.microsoft.com/zh-cn/case-studies/
中国客户案例 https://www.azure.cn/partnerancasestudy/case-studies/
P&P 丛书
  • 微软云计算系列丛书:云迁移技术(第2版)

  • 构建弹性云应用

  • 云应用开发(第2版)

MVP 的著作  
MSDN 库 是/否 https://msdn.microsoft.com/library/azure/
Azure 团队的博客 是/否 http://blogs.msdn.com/b/azchina/
MSDN Azure 门户 http://msdn.microsoft.com/zh-cn/ff380142
MSDN 杂志  
虚拟实验室  
视频 第 9 频道的视频讨论境外服务,与优酷上的中国视频 (http://www.youku.com/playlist_show/id_19321941.html)相同
Azure 培训包 Github 中的本地化培训包用于境外服务
MSDN 代码库 http://code.msdn.microsoft.com/windowsazure/
Github 仅在此处托管 azure.cn 的英文内容,不提供本地化内容

立即访问http://market.azure.cn

posted @ 2019-08-14 11:10  怪咖Eric  阅读(1389)  评论(0编辑  收藏  举报