Ric*_*ter 11 powershell azure azure-web-sites azure-scheduler azure-webjobs
我正在尝试创建一个Azure WebJob来发送BrokeredMessage到Azure ServiceBus主题,创建和发送消息的实际行为是微不足道的,但是我一直无法找到自动创建Scheduled WebJob的方法.
自动化工作流程应如下工作:
Azure管理门户为此功能提供了一个很好的UI,它在所选的WebSite,Azure Scheduler作业集合和Azure Scheduler作业中创建Azure WebJob:

似乎没有使用Azure Service Management PowerShell模块创建计划的Azure WebJob的类似机制.当然可以创建新的WebJobs,Azure Scheduler集合和作业 - 但是我不知道Azure Scheduler发布到哪个URL或存储队列来安排Azure WebJobs.
Ric*_*ter 26
Azure Scheduler和Azure WebJobs之间存在密切关系.具体来说,Azure WebJobs没有任何内部支持进行日程安排,WebJobs依赖Azure Scheduler来调用该*.scm.azurewebsites.net网站.

因此,可以使用PowerShell cmdlet为这些服务设置Azure WebJobs,以便使用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"; `
};
Run Code Online (Sandbox Code Playgroud)
它有点长,所以用简单的英语,上面的脚本执行以下操作:
希望这可以节省一些其他开发人员试图弄清楚这一点.
| 归档时间: |
|
| 查看次数: |
10350 次 |
| 最近记录: |