.NET的Windows Azure SDK 2.1发布通知

[原文发表地址] Announcing the release of the Windows Azure SDK 2.1 for .NET

[原文发表时间] 2013-07-31

今天我们发布了.NET的Windows Azure SDK v2.1更新。这是一次主要的Windows Azure SDK更新,它带来了一些真正很好的新功能和改进。这些更新改进的地方包括:

· 支持Visual Studio 2013预览版:现在Windows Azure SDK支持使用新的VS 2013预览。

· Visual Studio 2013 VM 映像:现在Windows Azure有一个内置的虚拟机映像,您可以在云中通过VS 2013来托管和开发使用。

· Visual Studio服务器资源管理器的增强功能:重新设计改良的过滤功能及自动加载订阅资源。

· 虚拟机:直接从Visual Studio中启动和停止虚拟机的暂停计费。

· 云服务:通过新的仿真程序快速选项来减少占用空间及支持普通用户运行。

· 服务总线:新的高可用性选项,支持通知集线器来改进VS工具。

· PowerShell的自动化:许多新的PowerShell命令用于网站、云服务、虚拟机及其他的自动化。

所有这些SDK增强的功能现在都可以开始使用,您可以从Windows Azure .NET 开发人员中心下载获得SDK。Visual Studio Team Foundation服务(https://tfs.visualstudio.com/ )也在今天发布的SDK2.1中得到了更新,SDK2.1的所有功能现在都可以使用(包括自动化构建和测试)。

下面是今天发布的更多的关于新功能的详细内容和功能:

Visual Studio 2013 预览支持

今天发布的Windows Azure SDK 2.1 版本新增了对最新版本的Visual Studio 2013预览版的支持。2.1的SDK也同样可以在Visual Studio 2010和Visual Studio 2012中运行,且与Windows Azure SDK 1.8 和2.0 版本并存。

要在本地计算机安装 Windows Azure SDK 2.1,可以在Windows Azure .NET开发人员中心选择“安装sdk”链接。然后,选择您想要使用的Visual Studio 版本,点击第三个链接,您将安装最新的VS 2013预览版SDK。

image

如果您还没在机器上安装Visual Studio 2013的预览版,它也将为您安装Visual Studio Express 2013的Web预览版。

Visual Studio 2013托管在云中的VM映像

我们从几个客户那里得知他们的需求之一是从云中直接能托管Visual Studio(从而不再需要在本机上安装任何软件)。

随着今天的SDK更新,我们添加了一个新的已经安装了Visual Studio 2013旗舰预览版,SharePoint 2013,SQL Server 2012 Express,以及Windows Azure 2.1 SDK的VM映像到Windows Azure VM库中。这提供了一个非常简单的方法,您可以在云中使用最新的工具来创建开发环境。随着我们上个月在Windows Azure上实行关闭和暂停计费功能,当您想做活跃的开发,可以使用映像,然后关闭虚拟机,您不必担心在不使用虚拟机的时候的使用费。

您也可以通过在Windows Azure管理门户中使用 新建->计算->虚拟机->从多媒体 菜单中创建自己的VS镜像,然后选择“Visual Studio 2013旗舰预览版” 模板:

image

Visual Studio 服务资源管理器:改进的过滤/ 订阅资源管理

在Windows Azure SDK 2.1版本中,您会发现Visual Studio服务器资源管理器有了重大的改进。管理器被重新设计,现在所有的Windows Azure服务都包含在单一的Windows Azure节点中。您现在可以从顶级节点管理您的Windows Azure凭据,导入订阅文件服务器管理器或过滤器来显示特定的订阅服务或地区。

注意:网站和移动服务节点会出现在Windows Azure节点之外,直到VS2013最终发布。不过,如果您已经安装了ASP.NET和Web工具预览刷新,网站节点在VS 2013预览版中也会出现在Windows Azure节点内部。

一旦添加了您的订阅信息,在服务器资源管理器中会将您订阅的所有的Windows Azure的服务自动列举出来。您不再需要手动添加单独服务器资源管理器的服务。这提供了一个便捷的方式从一个位置查看所有的云服务,存储账户,服务总线命名空间,虚拟机及网站:

image

支持订阅及地区筛选

在服务器资源管理器中使用Windows Azure节点,现在您也可以在服务器资源管理器中通过订阅或者地区过滤出您的Windows Azure服务。如果您有多个订阅,但您只想将注意力集中到一段时间的订阅,隐藏其它订阅服务是一个方便的方法。您同样可以按照地区过滤。

要启用此功能,只需要在Windows Azure节点的上下文菜单中选择“过滤服务”。

image

然后选择要过滤的订阅和/或地区。在下面的例子中,我已经决定要显示在美国东部地区的即付即用订阅服务:

image

Visual Studio会自动过滤,然后在服务器资源管理器中显示适当的项目:

image

随着存储账户和服务总线命名空间的出现,您有时需要查看订阅服务之外的内容。为了适应 这种情况,这些服务让您(从上下文菜单中)连接外部账户。您会注意到,外部账户在服务器资源管理器中有一个稍微不同的图标,来表示它们是从外部订阅的。

其它改进

我们还通过添加额外的属性和操作服务来改进服务器资源管理器。现在,您可以访问云中的服务,部署槽,角色或角色实例及存储账户,虚拟机和网站等大部分属性。只需在服务器资源管理器中选择感兴趣的对象并在属性窗格中查看属性。

我们现在也有从服务器资源管理器内部直接创建/删除/更新存储表,加点和队列的全面支持。只需右键单击相应的存储账户节点,您可以直接在Visual Studio中创建:

image

虚拟机:在Visual Studio中启动和停止

虚拟机现在有上下文菜单操作,让您直接从Visual Studio的服务器资源管理器中直接启动、关闭、重新启动及删除虚拟机。关机操作使您关闭虚拟机,并在虚拟机不被使用时暂停虚拟机收费,当您需要时也可以很容易重新启动它:

image

这在开发/测试场景中非常有用,您可以在开发时启动一台虚拟机,比如SQL Server,然后当您不再开发时将其关闭/暂停计费(不再被计费)。

现在您也可以在VS服务器资源管理器中直接使用“连接远程桌面”上下文菜单命令来连接虚拟机中的远程桌面。

云服务:支持普通用户运行仿真程序

现在,通过使用这个SDK版本新的模拟器快速预览功能选项,您可以启动Visual Studio,并在本地作为一个普通用户(无需提升到管理员账户)运行您的云服务。仿真程序是Windows Azure计算仿真受限模式下运行的一个版本,每个角色的一个实例,并不需要管理权限,从而比完整的Windows Azure模拟器减少40%的使用资源。仿真程序支持网络和人工角色。

在本地运行使用模拟器的应用程序,只需更改Windows Azure中以下设置:

1. 在Windows Azure项目的快捷菜单中,选择“属性”,然后选择“Web”选项卡。

2. 检查IIS(Internet信息服务)的设置,确保该选项设置为IIS Express,而不是完整版的IIS。仿真程序与完整的IIS并不兼容。

3. 在“Web”选项卡中,选择模拟器。

image

服务总线:通知集线器

随着Windows Azure SDK 2.1版本的发布,作为我们官方的Windows Azure SDK的一部分,我们将在Microsoft.ServiceBus.dll中(以前在预览组件中通知集线器功能)支持Windows Azure通知集线器。

现在,您可以编程实现创建,更新,删除通知集线器,管理您的设备注册信息,并发送通知到您所有的移动客户端平台(Windows应用商店的Windows Phone8,IOS和Android)。

点击这里,您可以了解更多MSDN上有关通知集线器的内容,或在这里//BUILD/观看通知集线器演示。

服务总线:配对命名空间

在今天发布的Windows Azure SDK2.1的新功能之一是支持服务总线“配对命名空间”,配对命名空间使您能够更好的处理服务总线命名空间不可用的情况(例如:由于连接问题或停电)、以及无法发送或接收消息的命名空间队列、主题或订阅等情况。以前,要处理这种情况,您必须手动设置不同的命名空间——这可以作一个备份点——然后手动执行故障转移及重试,这些步骤很复杂,很难做对。

现在服务总线支持配对命名空间,这让您可以连接两个命名空间。当您激活二级命名空间时,信息将在是主队列之后的一段时间内交付存储在辅助队列。如果主容器(命名空间)由于某种原因不可用,消息将自动切换到二级队列。

对于配对的命名空间和高可用性的详细信息,请参阅异步消息传递模式和高可用性的新话题。

服务总线:工具的改进

在这个版本中,Visual Studio的Windows Azure工具包含一些增强功能及使用Visual Studio服务器资源管理器改变管理服务总线的通讯实体。最明显的变化是,服务总线节点已经集成到Windows Azure节点中,并支持集成的订阅管理。

此外,还有通过Windows Azure工作者角色与服务总线队列项目模板生成的代码有所改变。现在该代码通过QueueClient.OnMessage方法来使用“消息泵”事件驱动的编程模型。

PowerShell :大量新的自动化命令

自从我上次发布关于Windows Azure SDK 2.0版本的博客以来,我们已经更新了Windows AzurePowerShell(这是一个单独的下载)五次。在这里,您可以找到完整的变更日志。我们在以下几个方面增加了新的命令集:

· 支持包含Windows Azure的中文实例包

· 环境配置

· 虚拟机

· 云服务

· 网站

· 存储

· SQL Azure

· 服务总线

Windows Azure的中文实例包

现在,我们支持以下Windows Azure的中文实例包的命令集,它们分别是:

· 中文实例:网站,服务总线,存储,虚拟机,网络,云服务

· Windows Azure包: 网站,服务总线

我们在不久的将来将对这两个Windows Azure环境下对PowerShell的命令集进行充分的支持。

虚拟机: 停止/启动虚拟机

类似于在VS服务器资源管理器启动/停止VM,现在可以停止您的虚拟机及暂停计费:

image

如果您想保持原来的停止虚拟机配置的行为,可以传入-StayProvisioned的开关参数。

虚拟机:虚拟端点ACLs

我们已经添加和更新了一堆命令集,为您在VM端点上配置细粒度的网络ACL。您可以使用以下命令集来创建ACL的配置,并将其应用到一个虚拟端点:

· New-AzureAclConfig

· Get-AzureAclConfig

· Set-AzureAclConfig

· Remove-AzureAclConfig

· Add-AzureEndpoint -ACL

· Set-AzureEndpoint –ACL

下面的例子演示了如何在VM现有端点下添加一个ACL规则。

image

其他的虚拟机管理改进包括:

· New-AzureQuickVM和Add-AzureProvisioningConfig中添加了Added –NoWinRMEndpoint参数来禁用Windows 远程管理。

· Add-AzureEndpoint 和 Set-AzureEndpoint中添加了Added –DirectServerReturn参数来启用/禁用服务器直接返回。

· 添加了Set-AzureLoadBalancedEndpoint 命令集来进行负载平衡点的修改。

云服务:远程桌面和诊断

远程桌面和诊断是云服务中很受欢迎的调试选项。我们引入了命令集来帮助您在Windows Azure PowerShell中配置这两个云服务的扩展。

Windows Azure云服务远程桌面扩展:

· New-AzureServiceRemoteDesktopExtensionConfig

· Get-AzureServiceRemoteDesktopExtension

· Set-AzureServiceRemoteDesktopExtension

· Remove-AzureServiceRemoteDesktopExtension

Windows Azure云服务诊断扩展:

· New-AzureServiceDiagnosticsExtensionConfig

· Get-AzureServiceDiagnosticsExtension

· Set-AzureServiceDiagnosticsExtension

· Remove-AzureServiceDiagnosticsExtension

下面的例子演示了如何启用云服务的远程桌面:

image

网站:诊断

随着我们上一个SDK更新,我们推出的Get-AzureWebsiteLog –Tail 命令可以获取您的Web站点日志流。最近,我们还增加了命令来配置网站应用的诊断:

· Enable-AzureWebsiteApplicationDiagnostic

· Disable-AzureWebsiteApplicationDiagnostic

以下两个例子演示了如何启用文件系统和Windows Azure存储表的应用诊断:

image

image

SQL数据库

以前,如果你想要管理数据库你必须知道SQL数据库管理员的用户名和密码。如果数据库服务器在您的订阅中,我们近期已经获取了不需要管理员凭据的更容易方式进行管理。因此,您可以使用以下命令,通过简单的指定-ServerName参数来告诉Windows Azure PowerShell您想要的服务器。

· Get-AzureSqlDatabase

· New-AzureSqlDatabase

· Remove-AzureSqlDatabase

· Set-AzureSqlDatabase

我们还在New-AzureSqlDatabaseServerFirewallRule中增加了-AllowAllAzureServices参数,这样您可以很容易在Windows Azure的IP地址白名单中添加防火墙规则。

除了上述体验的改进,我们还增加了命令来获取数据库服务配额和设置数据库服务目标。看看下面命令的详细信息:

· Get-AzureSqlDatabaseServerQuota

· Get-AzureSqlDatabaseServiceObjective

· Set-AzureSqlDatabase –ServiceObjective

存储和服务总线

其他新的命令包括:

· 存储:Windows Azure表和队列的CRUD 命令。

· 服务总线:服务总线命名空间管理授权规则,队列,主题,继电器和通知中心的命令。

总结

这次的发布包含了许多非常好的功能,使你能够创建更好的云解决方案。上述所有功能和改进作为.NET的Windows Azure SDK 2.1版的一部分,都可以立即使用。

如果你还没有一个Windows Azure账号,你可以注册一个免费帐号来使用以上所有的特性。访问Windows Azure .NET开发者中心来学习更多的如何使用今天的SDK版本创建应用程序。

希望这会对你有所帮助,

Scott

除了博客,我也在使用推特快速更新和共享链接。关注我:twitter.com/scottgu