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订阅中已经建好了"云服务"和"存储账号".如果没有的话 ...
 
随机推荐
- 彻底理解ThreadLocal二
			
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...
 - 扫描二维码判断移动设备(Android/ios),以及判断是否微信端扫描
			
<section class="download"> <a href="apk地址" class="android" st ...
 - Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)
			
刚接触Python学习,正准备做个爬虫的例子,谁知道代码一开始就遇到了一个大坑,狂汗啊. 问题是这样的:我通过代码爬取了博客园首页的HTML代码并存入到blog.txt文件当中,然后准备读取出来之后进 ...
 - 使用阿里云负载均衡遭遇的http重定向https的问题
			
昨天解决了在阿里云负载均衡上部署https证书的问题(详见一个空行引起的阿里云负载均衡上部署https证书的问题),并完成了部署,负载均衡的监听配置是这样的: 用户与负载均衡之间走https协议,负载 ...
 - 用JQ仿造百度书籍预售页面的单屏滚页效果
			
今天的项目需要做到一个介绍页面,我主动提出走单屏滚页的风格,毕竟交互性好,逼格也高,具体效果可以参照百度知道书籍预售页面. 其实现效果就大概是这样的: 还是老样子,所有步骤文件可以从我的Github上 ...
 - 实现tip浮层
			
实现简单的tip浮层: html代码: <!doctype html> <html> <head> <meta charset="utf-8&quo ...
 - 用 C 扩展 python
			
本文介绍如何用 C 语言来扩展 python.所举的例子是,为 python 添加一个设置字符串到 windows 的剪切板(Clipboard)的功能.我在写以下代码的时候用到的环境是:window ...
 - ios 常用数学函数
			
需要 引入头文件 #import <math.h> 1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan ...
 - Programming in lua 杂记(转)
			
1,loadstring 编译的时候不关心词法范围: local i = 0 f = loadstring("i = i + 1") g = function () i = ...
 - 编写一个简单的C++程序
			
编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...