簡體   English   中英

在Azure中,我可以從C#WebJob中調用Python腳本嗎?

[英]In Azure, can I call a Python script from my C# WebJob?

我想用C#創建一個WebJob。 不幸的是,我需要使用Python 3腳本,因為當前沒有適合我使用C#執行的一項特定任務的庫。

例如,請參見此答案/示例

我的WebJob是否可以調用Python腳本? 我可以將Python3腳本放在blob容器中-然后可以從C#WebJob調用並執行它嗎?

當然,可以通過C#WebJob調用鏈接的示例之后的Python 3腳本。 首先,您需要如下安裝Python 3運行時。

  1. 通過URL https://<your webapp name>.scm.azurewebsites.net訪問kudu工具,並按照下圖安裝Python 3運行時。 在此處輸入圖片說明
  2. 例如,要安裝Python 3.5.2 x86 ,它將安裝在路徑D:\\home\\Python35 ,那么您只需要更改示例中的Python執行文件路徑即可嘗試運行它。

希望能幫助到你。


更新 :安裝pip工具和其他Python軟件包。

  1. 訪問URL https://<your azure webapp name>.scm.azurewebsites.net/DebugConsole
  2. 命令如下。

     D:\\home>cd Python35 D:\\home\\Python35>curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1558k 100 1558k 0 0 6829k 0 --:--:-- --:--:-- --:--:-- 7179k D:\\home\\Python35>python get-pip.py Requirement already up-to-date: pip in d:\\home\\python35\\lib\\site-packages Collecting wheel Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB) Installing collected packages: wheel Successfully installed wheel-0.29.0 
  3. 例如,安裝numpy軟件包

     D:\\home\\Python35>python get-pip.py numpy Collecting numpy Downloading numpy-1.13.1-cp35-none-win32.whl (6.8MB) Installing collected packages: numpy Successfully installed numpy-1.13.1 

不知道這是否是最好的方法,但這是我過去所做的:

  • 創建一個python webjob(手動,觸發)( 請參閱教程 創建Azure Webjob-手動觸發

  • 創建一個C#webjob。

  • 從C#作業觸發Python作業:

     using (var client = new HttpClient()) { var username = "jobusername"; var password = "jobpassword"; var byteArray = Encoding.ASCII.GetBytes($"{username}:{password}"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray)); var response = await client.PostAsync("joburl", null); } 

您可以從azure門戶上的作業屬性中找到作業憑證: Azure Webjob屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM