在此之前,我曾经发过一篇文章讲叙了。
而就在这篇文章发布之后不久,我又发现微软发布了一个preview 版本的来帮助.NET 开发人员来更好的控制Auzre Platform。
相比power shell team使用的library, Windows Azure Management Libraries For .NET 将业务逻辑更好的划分了开来,同时也使用了最新的Async programing来替代.net 4.5之前非常流行的异步委托编程方式。
很明显,这个class library今后将融入Azure SDK 之中,成为替代.NET 程序员直接调用Azure Management REST API的最佳选择。
那么就让我们来了解一下如何使用这个libararies吧。
一、添加Nuget Packages到项目中
新建一个Console应用程序,打开Tools->Library pPackage Manager->Package Manager Console.
然后输入以下命令行来安装该package:
Install-Package Microsoft.WindowsAzure.Management.Libraries -Pre
接下来我们将通过几个示例来了解如何使用这个library,首先让我们来获取Azure portal下所有Host service 的名字吧!
二、利用Compute Management Client 获取Azure platform下所有Azure cloud service host Name
首先,我们需要登录以下链接来获取与Azure 平台交互所需的publishsettings file
打开Console程序创建如下代码
using Microsoft.WindowsAzure.Management.Compute;using Microsoft.WindowsAzure.Management;using Microsoft.WindowsAzure;using System.Security.Cryptography.X509Certificates;namespace ListCloudServiceName{ class Program { public const string base64EncodedCertificate = ""; public const string subscriptionId = " "; static void Main(string[] args) { getAllCloudServicesName(); Console.ReadLine(); } public static void getAllCloudServicesName() { ComputeManagementClient client = new ComputeManagementClient(getCredentials()); var cloudServiceList=client.HostedServices.List(); foreach (var cloudService in cloudServiceList) { Console.WriteLine(cloudService.ServiceName); } } static SubscriptionCloudCredentials getCredentials() { return new CertificateCloudCredentials(subscriptionId,new X509Certificate2(Convert.FromBase64String(base64EncodedCertificate))); } }}
将publishsetting中的 ManagementCertificate 属性的值与id属性的值分别填入上面代码之中。
这样一个简单的获取所有cloud Service name的程序就完成了。
这里调用的是client.HostedServices.List()方法, 这个方法是一个extension method。
微软把与Azure Management REST API对应的一些方法都写成了extension method方便我们的调用。
而且微软将不同的技术都做了层层划分,首先是dll分成了5个,然后再在dll内将不同的技术划分开来方便了不同的.net 开发人员来进行调用,更具有针对性了。
由于目前这个package 刚刚推出,并没有多少的文档来详细阐述如何使用这个它, 我会在之后的blog中,针对我日常常用的一些操作来进行阐述,希望更多.net 开发人员能够使用上这个非常不错的类, 从而结束不停的send http web request。。。