2017-02-15 4 views
1

Можно ли вызывать webjob из python?
В настоящее время у меня есть веб-приложение и webjob на лазурной. Мой webjob настроен на запуск/руководство и хочет запускать его из кода python всякий раз, когда пользователь выполняет определенное действие.
что-то подобное из C#:Invoke webjob from python

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://<web appname>.scm.azurewebsites.net/api/triggeredwebjobs/<web job name>/run"); 
request.Method = "POST"; 
var byteArray = Encoding.ASCII.GetBytes("user:password"); 
request.Headers.Add("Authorization", "Basic "+ Convert.ToBase64String(byteArray));    
request.ContentLength = 0; 

Я сделал некоторые исследования, и я видел один пост, который предложил использовать azure-sdk-for-python. Но я не уверен, что это была какая-то помощь, поскольку «запуск веб-игры».

+0

Для справки, пожалуйста, обратитесь к куду странице вики https://github.com/projectkudu/kudu/wiki/WebJobs-API и использовать webjob REST API. –

ответ

1

Если вам нужно просто отправить запрос на лазури, вы можете использовать httplib (http.client в Python 3), как это:

import base64, httplib 
headers = {"Authorization": "Basic " + base64.b64encode("user:password")} 

conn = httplib.HTTPConnection("https://<web appname>.scm.azurewebsites.net/api/triggeredwebjobs/<web job name>/run") 
conn.request("POST", "", "", headers) 
response = conn.getresponse() 
print response.status, response.reason 

Если вам нужна более сложная, вы лучше investigate в azure-sdk-for-python пакет , но я ничего не вижу о веб-блогах прямо сейчас.

Это работает с почтальоном: enter image description here

+0

Благодарим вас за ответ. После проведения большего исследования я обнаружил, что webjob действительно может быть вызван почтовым вызовом. он работает с почтовым работником, но не работает с кодом, аналогичным тому, который вы опубликовали. Я думаю, что это может быть связано с синтаксисом. – Gio

+0

Код выше для Python 2, для Python 3 он немного отличается – VMAtm

+0

код в порядке, я использую python3 и должен был изменить его с помощью http.client и некоторых других незначительных изменений. Он работает без ошибок, просто ничего не делает (не запускает webjob). Я могу опубликовать снимок экрана почтальона и моего кода для лучшего понимания. – Gio

 Смежные вопросы

  • Нет связанных вопросов^_^