详说Azure的服务运行时API
来源:互联网 发布:男士包品牌 知乎 编辑:程序博客网 时间:2024/04/28 19:25
详说Azure的服务运行时API
【版权声明】原创,作者为chszs,转载需注明。
一、服务运行时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事件的参数,用于在内部定期时间间隔来指示一个角色实例的状态。
- 详说Azure的服务运行时API
- 新的Windows Azure服务管理API使得存储服务更易于管理
- Timer与TimerTask的基本API,以及服务运行时改变调度时间
- 新建azure的ServiceBus的中继服务
- 使用Windows Azure上的Mysql服务
- 中国Azure媒体服务RESTAPI的Endpoint
- 中国Azure媒体服务RESTAPI的Endpoint
- 使用Azure上的Azure AD服务管理Office 365账户(无缝打通Azure和Office 365)
- 使用Azure customvision api
- [Azure] Azure负载均衡后的MySQL服务的一次TroubleShooting
- Windows Azure Traffic Manager的新的管理API
- 新Azure 服务仪表盘!
- [Azure]Azure经典模式中单个云服务下的虚拟机开机脚本
- 使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)
- Windows Azure Marketplaces上的Bing Search API可用啦!
- 宣布新的Windows Azure服务实现“混合云”
- 现在可用: Windows Azure新的服务和增强功能
- 在 Windows Azure 上设计大型服务的最佳做法
- long long int
- hibernate 自增变量的操作
- 使用Inputstream读取文件
- quartz集群完整应用实例
- Why does a destructor in base class need to be declared virtual?
- 详说Azure的服务运行时API
- Visual Leak Detector
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式 .
- eclipse插件的安装(jetty的插件)
- 使用CColorListBox 实现文本改变颜色
- Real-Time Video Abstraction
- 大型网站采用什么系统架构保证性能稳定性
- vi编辑器简单查日志命令
- 单引号,双引号,转义