在Azure中,我可以从我的C#WebJob调用Python脚本吗?

2024-06-10 18:42:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用C创建一个网络作业。不幸的是,我需要使用python3脚本,因为目前没有合适的库来执行我需要使用C#执行的一个特定任务。在

例如,请参见answer/example。在

是否可以让我的WebJob调用Python脚本?我可以将Python3脚本放在blob容器中-然后我可以从我的C\WebJob调用并执行它吗?在


Tags: answer网络脚本example作业blob容器python3
2条回答

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

  • 创建python web作业(手动,已触发)(see tutorialCreate Azure Webjob - Manual Triggered

  • 创建一个C#网络作业。

  • 从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 properties

当然,可以通过链接的sample后面的C#WebJob调用python3脚本。首先,您需要安装一个python3运行时,如下所示。在

  1. 通过url https://<your webapp name>.scm.azurewebsites.net访问kudu工具,并按照下图安装python3运行时。 enter image description here
  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
    

相关问题 更多 >