如何以与门户网站中的“运行一次”按钮相同的方式调用Azure移动服务计划作业

时间:2015-09-16 09:43:16

标签: c# azure azure-mobile-services

尝试使用此问题和答案,但它没有解决我遇到的问题。 Is there a REST API call for Azure Mobile Service's Scheduler Run Once?

我有一个Azure移动服务,它有一个我想从Azure Scheduler作业调用的作业。

所以我到目前为止所做的是使用Azure Scheduler API并在作业集合中创建一个作业,以便在一天中的特定时间运行。然后,此作业用于调用Azure移动服务中的作业。

在Azure Scheduler中创建作业的代码位于

之下
var result = schedulerClient.Jobs.CreateOrUpdate("Job Name", new JobCreateOrUpdateParameters()
            {
                Action = new JobAction()
                {
                    Type = JobActionType.Https,
                    Request = new JobHttpRequest()
                    {
                        Headers = new Dictionary<string, string>()
                        {
                            { "x-zumo-application", "Mobile Service Password" }
                        },
                        Method = "POST",
                        Uri = new Uri("https://[mobile service host].net/jobs/[job Name]")
                    }
                },
                StartTime = DateTime.UtcNow, // This can be any time of the day, just set here for the example
                Recurrence = new JobRecurrence()
                {
                    Frequency = JobRecurrenceFrequency.Day,
                    Interval = 1,
                    Count = 1
                }
            });

对于上面代码段中的标题,我使用了&#34;授权&#34;和&#34; x-zumo-master&#34;这两个都不起作用,因为我在下面得到以下错误。

Http Action - Response from host '[mobile service host]': 'Unauthorized' Response Headers: Date: Wed, 16 Sep 2015 08:57:42 GMT
Set-Cookie: ARRAffinity=..............;Path=/;Domain=[mobile service host]
Server: Microsoft-IIS/8.0
WWW-Authenticate: Basic realm="Service"
X-Powered-By: ASP.NET
 Body: {"message":"Authorization has been denied for this request."}

任何人都可以帮忙解决上述错误吗?如前所述,我尝试了几个不同的标头值,但它仍无效。

1 个答案:

答案 0 :(得分:0)

终于找到了答案......

http://blog.gluwer.com/2013/07/azure-mobile-services-jobs-on-demand/

您需要同时使用x-zumo-application和x-zumo-master

可以在Azure管理门户上找到这些密钥,当您进入移动服务仪表板时,底部会显示一个按钮。