在此之前,我曾经发过一篇文章讲叙了如何利用Azure power shell team 提供的class library。

而就在这篇文章发布之后不久,我又发现微软发布了一个preview 版本的Windows Azure Management Libraries For .NET Nuget package来帮助.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

https://manage.windowsazure.com/publishsettings/index?client=vs&schemaversion=2.0

打开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 = "<Your PublishSettings file ManagementCertificate property's Value>";
public const string subscriptionId = "<You Azure subscription id>"; 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。。。

Azure Management API 之 利用 Windows Azure Management Libraries 来控制Azure platform的更多相关文章

  1. Windows Server: 将虚拟机迁移到 Azure (以阿里云为例)

    Azure 虚拟机能很容易地导出 vhd 并迁移到各种环境中,包含本地及云端环境,或者迁移至其他区域.这为开发.测试.扩展带来了极大的便利.本文以阿里云为例,阐述如何将Windows Server 的 ...

  2. C#码农的大数据之路 - 使用Azure Management API创建HDInsight集群

    Azure平台提供了几乎全线产品的API,可以使用第三方工具来进行管理.对于.NET更是提供封装好了的库方便使用C#等语言实现Azure的管理. 我们使用创建HDInsight集群为例来介绍使用C#管 ...

  3. [Windows Azure] Managing SQL Database using SQL Server Management Studio

    Managing Windows Azure SQL Database using SQL Server Management Studio You can use Windows Azure SQL ...

  4. 【Azure API 管理】解决API Management添加AAD Group时遇见的 Failed to query Azure Active Directory graph due to error 错误

    问题描述 为APIM添加AAD Group时候,等待很长很长的时间,结果添加失败.错误消息为: Write Groups ValidationError :Failed to query Azure ...

  5. Windows Azure Mangement API 之 更方便的使用Mangement API

    许多.Net 程序员在使用Azure Management API的时候都选择参考微软官方示例,通过创建HttpWebRequest来创建. 或者自己创建类库来封装这些API,使之调用起来更加方便. ...

  6. [Windows Azure] Using the Graph API to Query Windows Azure AD

    Using the Graph API to Query Windows Azure AD 4 out of 4 rated this helpful - Rate this topic This d ...

  7. Azure REST API (1) 前言

    <Windows Azure Platform 系列文章目录> 一.服务运行时API简介 微软的Windows Azure服务总线提供了一整套REST风格的API,其中包括服务运行时API ...

  8. 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境

     发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块.通过这个模 ...

  9. Azure REST API (3) 使用REST API,操作Azure ARM VM

    <Windows Azure Platform 系列文章目录> 笔者之前遇到一个客户,需求是当发生某一个特定条件的时候,对多台Azure ARM VM执行开机或者关机操作,这个时候就需要使 ...

随机推荐

  1. css 温故而知新 slideDown/slideUp 新思路

    默认设置高度为0; -webkit-transition:.3s all ease;transition:.3s all ease;opacity:0;height:0; 需要时添加高度即可 heig ...

  2. 《实战Java虚拟机》,最简单的JVM入门书,京东活动,满200就减100了,该出手了

    #京东满200—100单# 图书放血大卖了 <实战Java虚拟机>http://item.jd.com/11670385.html 参加京东满200减 100的大促,就在6.1这一天,仅此 ...

  3. Sublime P4语法高亮设置

    Github插件链接:p4-syntax-highlighter 首先安装Package Control. 进入Package界面,我的目录: /Users/wasdns/Library/Applic ...

  4. Myeclipese建立servelet时出现带有javax.servlet.http.HttpServlet;变成了红色的解决方法

    如下图 上面这部分都变成了红色,说明servlet-api.ja还没有导入进来,只需要单击项目名称然后properties--java Build Path--Libraties--MyEclipse ...

  5. 实验五(简单嵌入式WEB服务器实验)问题总结

    实验五问题总结 问题链接:<信息安全系统设计基础>实验五实验报告 虽然将07_httpd文件中全部拷贝进了bc中,文件夹中拥有Makefile文件,但是还是无法通过make得到该文件夹中c ...

  6. C#中文件多选 批量下载

    public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform { #region INameTransform 成 ...

  7. Approaches to Vector Computation

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  8. erlang文章博客推荐

    博客排名不分先后. 诸霸,http://blog.yufeng.info/. 淘宝核心系统资深技术专家,真的是专家,了解erlang已不久局限于erlang,而且现在也一直在更新技术博文,和陈晧一样. ...

  9. jquety

    .html() //能够获取元素里的内容包括标签: .text()  //只能获取到元素里的内容 .val()  //可以得到元素的value值 $(this).index()  //得到点时间发生的 ...

  10. WordPress基础:让搜索引擎及时更新文章

    如果文章更新之后,想让搜索引擎也及时更新,你需要以下步骤 1.快速编辑文章时,勾选ping 2.设置->阅读,保证搜索引擎允许搜索 3.设置->撰写->添加url 通知url列表参考 ...