微软 Azure WebJobs SDK 3.0 Beta 版增强了云端应用的开发能力

  • Anand Narayanaswamy
  • 李士窑

2014 年 7 月 11 日

话题:Azure语言 & 开发

微软已经发布了支持Azure Service Bus的 WebJobs SDK 3.0 Beta 版,该版本使开发者可以利用队列和主题功能,还包括一种改进的功能发现机制,增加了取消令牌和 WebJobs 关闭通知的功能,这样可以在关机过程中自动的通知管理员。它还添加了调用 host.call() 实现主动触发的能力。host.call() 如下所示:

JobHost host = new JobHost();
host.Call(typeof(Program).GetMethod("TriggerOnQueue"),
new { inputText="input" });

新推出的 JobHostConfiguration() 函数让开发者可以重写 Azure Storage and Service Bus 帐号的默认 ConnectionString 名字。微软已经提供源代码样例,您可以用来研究 WebJobs SDK 的功能。

Azure WebJobs SDK 的主要目的是简化 web 站点的服务和后台任务的运行。它可以让开发者上传和运行可执行文件以作为触发或连续的 WebJobs。它还提供了一个诊断和监测机制,使开发者可以轻松地监视应用程序的性能,这将有助于处理除了 RSS 聚合、文件维护和电子邮件发送等任务之外的 CPU 密集的图像和队列处理任务。

该版本的发布带来了明显的改变,其中包、组装和命名空间名称的修改反映出了更新的命名系统。例如,Microsoft.WindowsAzure.Jobs.Host 已经更名为 Microsoft.Azure.Jobs,Microsoft.WindowsAzure.Jobs 更名为 Microsoft.Azure.Jobs.Core。

这些更新使开发者能够在启动和停止面板上进行监控。它还使开发者能够主动触发功能和绑定一个事先指定类型或者 CLR 类型如 String、TextReader 和 TextWriter,而不用于指定函数的参数。

微软还做了其他一些修改,如 QueueInput 被改成 QueueTrigger , QueueOutput 被改 Queue。类似的 BlobInput 被改成 BlobTrigger。

除了能够绑定 Azure Storage Queue 类型外,还能够访问您消息队列中消息的数量。如下代码所示:

public static void PropertyBinding(
[QueueTrigger("inputqueue")] string inputText,
int dequeueCount)
{
}

从 Microsoft Azure 官方博客帖子中得知,ASP.NET 程序经理 Pranav Rastogi 已经提供了所有新功能的详细源码。WebJobs SDK 可以从 NuGet Gallery 下载和从 NuGet Package Manager Console 里进行安装,安装命令如下:

Install -Package Microsoft.Azure.Jobs -Pre 

如果您要使用微软的 Azure Service Bus,请使用下面的命令:

Install-Package Microsoft.Azure.Jobs.ServiceBus -Pre

微软还提供重定向包映射新包名称的命令,命令如下:

Update-Package Microsoft.WindowsAzure.Jobs -Pre 
Update-Package Microsoft.WindowsAzure.Jobs.Host –Pre

为了部署 WebJobs,开发者可以利用门户的部署页面或者可以使用 FTP、Git 以及使用 Visual Studio 扩展的WebJobsVs 的 Web 部署。Rastogi 还提供一系列资源,帮助大家学习 WebJobs,而不是简单浏览先前更新的已存在的功能介绍。

查看英文原文:Microsoft Azure WebJobs SDK 3.0 Beta Boosts Application Development on the Cloud


感谢杨赛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

Azure语言 & 开发