我想创建一个Azure的WebJob发送 BrokeredMessage 到Azure的ServiceBus主题,创建和发送邮件的实际行为是微不足道的,但是我已经无力找到一种方法来自动调度WebJob的创建。
I am trying to create an Azure WebJob to send a BrokeredMessage to an Azure ServiceBus Topic, the actual act of creating and sending the message is trivial however I have been unable to find a way to automate the creation of the Scheduled WebJob.
在自动化的工作流程应该工作如下:
The automated workflow should work as follows:
在Azure管理门户提供了此功能的漂亮的UI,它在幕后在选定的网站创建的Azure WebJob,湛蓝的调度作业收集和Azure的调度工作:
The Azure Management Portal provides a nice UI for this functionality, which under the covers creates an Azure WebJob in the selected WebSite, an Azure Scheduler Job Collection and an Azure Scheduler Job:
有没有出现是创建与天青服务管理的PowerShell模块调度天青WebJob类似的机制。这当然是可以创建新的 WebJobs ,的Azure调度集合和乔布斯 - 但是我不知道在Azure计划程序发布到调度Azure的WebJobs什么URL或存储队列
There doesn't appear to be an analogous mechanism for creating a scheduled Azure WebJob with the Azure Service Management PowerShell Module. It is certainly possible to create new WebJobs, Azure Scheduler Collections and Jobs - however I have no idea what URL or Storage Queue the Azure Scheduler is posting to to schedule Azure WebJobs.
推荐答案有天青是Scheduler和天青WebJobs之间有着密切的关系。具体的Azure WebJobs不具有任何安排内部支持,WebJobs依赖于天青调度打电话到 *。scm.azurewebsites 网站。
There is a close relationship between Azure Scheduler and Azure WebJobs. Specifically Azure WebJobs does not have any internal support for scheduling, WebJobs relies on the Azure Scheduler to call into the *.scm.azurewebsites website.
因此,它有可能使用PowerShell命令对这些服务设置天青WebJobs要使用天青调度时间表触发
As such it is possible to use PowerShell cmdlets for these services to setup Azure WebJobs to be triggered on schedule using Azure Scheduler.
$location = "North Europe"; $site = New-AzureWebsite -Location $location ` -Name "amido-test-website"; $job = New-AzureWebsiteJob -Name $site.Name ` -JobName "amido-test-job" ` -JobType Triggered ` -JobFile ~\Desktop\test.zip; $jobCollection = New-AzureSchedulerJobCollection ` -Location $location ` -JobCollectionName "amido-test-job-collection"; $authPair = "$($site.PublishingUsername):$($site.PublishingPassword)"; $pairBytes = [System.Text.Encoding]::UTF8.GetBytes($authPair); $encodedPair = [System.Convert]::ToBase64String($pairBytes); New-AzureSchedulerHttpJob ` -JobCollectionName $jobCollection[0].JobCollectionName ` -JobName "test" ` -Method POST ` -URI "$($job.Url)\run" ` -Location $location ` -StartTime "2014-01-01" ` -Interval 1 ` -Frequency Minute ` -EndTime "2015-01-01" ` -Headers @{ ` "Content-Type" = "text/plain"; ` "Authorization" = "Basic $encodedPair"; ` };这是一个有点长用简单的英语上面的脚本啰嗦这么执行以下操作:
It's a little long winded so in plain english the above script does the following:
希望这会刮伤他们的头试图找出这一个节省一些其他开发人员。
Hope this saves a few other developers from scratching their head trying to figure this one out.
更多推荐
创建PowerShell中预定的Azure WebJob
发布评论