Azure REST API (1) 前言
《Windows Azure Platform 系列文章目录》
一.服务运行时API简介
微软的Windows Azure服务总线提供了一整套REST风格的API,其中包括服务运行时API(Service Runtime API)和服务管理API(Service Management API),分别用于运行时操作和管理操作。
那么,什么是REST呢?REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,它可以降低开发的复杂性,提高系统的可伸缩性。使用REST API,意味着我们可以使用任意的编程语言来开发应用程序,它只有一个前提,我们使用的编程语言必须要能够支持HTTP协议。使用REST API,我们就不再需要客户端的SDK。
二.服务运行时API和服务管理API的区别
服务运行时API和服务管理API有什么区别呢?
首先,要从两者运行的“位置”进行比较。服务运行时API运行于Windows Azure云的内部,API代码与云交互环境相勾连;而服务管理API运行于Windows Azure云的外部,可以通过调用服务管理API来操纵正在运行的服务。
其次,两者的功能也大不相同。服务运行时API主要用于动态查看服务信息;而服务管理API则用于Azure授权用户能够以编程的方式管理其部署、托管的服务以及存储账户。授权用户可以管理存储服务的生命周期,包括新建存储服务、更新存储服务、删除存储服务等。
服务运行时API有时也被认为是服务托管API
三.服务运行时API的作用
服务运行时API有哪些作用呢?
1.WindowsAzure云上的Adapter服务可以通过调用服务运行时API来动态查询服务信息。比如可以访问应用的服务信息和用户的角色信息。还可以用于访问服务的拓扑信息,比如正在运行哪些角色、每个角色包含了多少个实例等等。
2.可以从配置文件中读取最新的设置。比如访问服务定义和服务配置文件中各项设置的最新的值,即使是服务配置正在更新,服务运行时API也能确保取得的值为最新状态。要注意,对于工作者角色,它与角色的生命周期是紧密绑定在一起的。
3.可以在配置文件更新后获取通知。
四.服务运行时API的访问方式
服务运行时API有两种访问方式:
1.对于托管代码,SDK封装了整个Microsoft.WindowsAzure.ServiceRuntime.dll库。只要用Visual Studio创建了一个新的云服务项目后,服务运行时API就可以自动引用。
2.对于本地代码,头文件和库文件都被封装在SDK中,可以使用C语言调用服务运行时API。
要说明一点,本地库和托管库两者的功能是完全相同的,你可以选择任意一种访问方式,而且两者间的代码转换也是很容易的。
五.服务运行时API的命名空间
Microsoft.WindowsAzure.ServiceRuntime的命名空间详见下表所述。
|
类 |
描述 |
|
LocalResource |
表示本地存储资源,托管服务所保留。 |
|
Role |
表示定义的角色,作为托管服务的一部分。 |
|
RoleEntryPoint |
在角色实例进行初始化、运行、停止时,提供运行代码的方法。 |
|
RoleEnvironment |
提供运行角色实例的配置、端点和状态的信息。 |
|
RoleEnvironmentCharge |
表示托管服务的配置发生了变化。 |
|
RoleEnvironmentChangedEventArgs |
表示已更改事件的参数,当配置修改被应用到角色实例后使用。 |
|
RoleEnvironmentChangingEventArgs |
表示待更改事件的参数,当配置修改被应用到角色实例前使用。 |
|
RoleEnvironmentConfigurationSettingChange |
表示一个角色配置的修改。 |
|
RoleEnvironmentException |
在访问RoleEnvironment类的属性和方法发生错误时所抛出的异常。 |
|
RoleEnvironmentStoppingEventArgs |
表示停止事件的参数,当一个角色实例被停止时使用。 |
|
RoleEnvironmentTopologyChange |
表示某个角色的拓扑结构发生变化。 |
|
RoleInstance |
表示一个角色实例。 |
|
RoleInstanceEndpoint |
表示一个角色实例相关联的端点。 |
|
RoleInstanceStatusCheckEventArgs |
表示StatusCheck事件的参数,用于在内部定期时间间隔来指示一个角色实例的状态。 |
参考资料:http://blog.csdn.net/chszs/article/details/7851794
Azure REST API (1) 前言的更多相关文章
- Windows Azure Mangement API 之 更方便的使用Mangement API
许多.Net 程序员在使用Azure Management API的时候都选择参考微软官方示例,通过创建HttpWebRequest来创建. 或者自己创建类库来封装这些API,使之调用起来更加方便. ...
- C#码农的大数据之路 - 使用Azure Management API创建HDInsight集群
Azure平台提供了几乎全线产品的API,可以使用第三方工具来进行管理.对于.NET更是提供封装好了的库方便使用C#等语言实现Azure的管理. 我们使用创建HDInsight集群为例来介绍使用C#管 ...
- Azure REST API (3) 使用REST API,操作Azure ARM VM
<Windows Azure Platform 系列文章目录> 笔者之前遇到一个客户,需求是当发生某一个特定条件的时候,对多台Azure ARM VM执行开机或者关机操作,这个时候就需要使 ...
- Azure EA (3) 使用Postman访问海外Azure Billing API
<Windows Azure Platform 系列文章目录> 本文介绍的是海外版的Azure Global服务,因为跨境内境外网络,访问速度会比较慢 在开始使用Azure Billing ...
- Azure EA (2) 使用Postman访问国内Azure Billing API
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 请读者先看一下之前的文档内容:Azure EA (1) 查看国内Az ...
- 使用Azure Rest API获得Access Token介绍
背景 本文主要介绍如何获取如何获取Azure Rest API的访问token,所采用的是v2.0版本的Microsoft标识平台,关于1.0和2.0的区别可以参考 https://docs.azur ...
- 使用Azure人脸API对图片进行人脸识别
人脸识别是人工智能机器学习比较成熟的一个领域.人脸识别已经应用到了很多生产场景.比如生物认证,人脸考勤,人流监控等场景.对于很多中小功能由于技术门槛问题很难自己实现人脸识别的算法.Azure人脸API ...
- 【Azure 环境】用 PowerShell 调用 AAD Token, 以及调用Azure REST API(如资源组列表)
问题描述 PowerShell 脚本调用Azure REST API, 但是所有的API都需要进行权限验证.要在请求的Header部分带上Authorization参数,并用来对List Resour ...
- 使用Azure REST API创建虚拟机
Hollis Yao, Shihao Rong 使用REST API创建虚拟机之前,首先要确保Azure订阅中已经建好了"云服务"和"存储账号".如果没有的话 ...
随机推荐
- MySQL 升级详细步骤 (包括 Percona)
MySQL 升级步骤 MySQL 5.1.72 升级到 MySQL 5.5.36 鉴于我在升级的时候遇到的麻烦问题,我觉得有必要把一些细节说清楚,免得引起误解了.感觉官方文档上的升级步骤写的比较简单, ...
- sql语句:插入的时候判断是否有重复项
把t_table1中数据插入到t_table中,同时确保t_table中不会有重复的项 insert into t_table (column1,column2,column3) select co ...
- ENode 1.0 - Staged Event-Driven Architecture思想的运用
开源地址:https://github.com/tangxuehua/enode 上一篇文章,简单介绍了enode框架的command service api设计思路.本文介绍一下enode框架对St ...
- require、module、exports dojo中的三个特殊模块标识
查看dojo源码过程中,发现这三个模块名并不以dojo.dijit.dojox开头,在dojo加载器中属于特殊模块名. require 这是一个上下文智能的加载器. 我们通过dojoConfig配置了 ...
- 【吉光片羽】js横向滚动与浮动导航
1.横向滚动,这个方法是见过最简洁的了. #demo { background: #FFF; overflow: hidden; border: 1px dashed #CCC; width: 117 ...
- 淘宝code—— 最给力的国内免费SVN(不限语言),异地团队开发、打造个人开源项目不再是梦
相信大家都听说过GitHub,也有很多人在用,但是GitHub毕竟在国外,速度不是很给力,而且安装过程也是很漫长.今天来给大家介绍一个国内的免费的开源项目平台,当然也是一个SVN版本控制器,名字叫ta ...
- 一个简单的通用Makefile实现
一个简单的通用Makefile实现 Makefile是Linux下程序开发的自动化编译工具,一个好的Makefile应该准确的识别编译目标与源文件的依赖关系,并且有着高效的编译效率,即每次重新ma ...
- [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)
前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...
- Redis教程(十一):虚拟内存介绍:
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/138.html 一.简介: 和大多NoSQL数据库一样,Redis同样遵循 ...
- 移动端基于HTML模板和JSON数据的JavaScript交互
写本文之前,我正在做一个基于Tab页的订单中心: 每点击一个TAB标签,会请求对应状态的订单列表.之前的项目,我会在js里使用 + 连接符连接多个html内容: var html = ''; htm ...