python - 需要有关如何将Python集成到Azure(特别是ASP.NET Web应用程序环境)中的建议

标签 python azure

需要有关如何将Python集成到Azure ASP.NET Web应用程序环境中的建议。请原谅这个问题,但是我是Azure的新手,我不清楚如何继续。我研究的每个选项都看起来很有希望,但是它们似乎都有自己的问题。以下是更详尽的解释,但要解决的问题是,我拥有一个具有各种功能的Azure帐户,通过App Service运行的成熟的ASP.NET(C#)Web应用程序,我是Azure的新手(但不是Python)和我希望将Python功能添加到整个设置中。简而言之:


我想将Python添加到此设置中,主要是为了运行计划的作业,并从ASP.NET Web表单提交中触发Python代码
理想情况下,我想要一个类似于非云设置的解决方案。我知道这听起来很傻,但是我发现云/ Azure功能是细微而不是简单的。我想要一个放置一堆Python脚本,运行,编辑,计划并从ASP.NET触发它们的地方


例如:我创建了一个手动运行的WebJob,从文档中尚不清楚应如何调用它。我刚刚发现您需要使用基本身份验证(以及提供的凭据)进行POST。
此外,Azure CMD不喜欢其中带有“下划线_”的文件!您不能使用带下划线的py文件提交Web Job,也不能使用带下划线的文件编写输出
此外,我没有看到该Web作业运行Python 3.6.4(通过扩展程序安装)的选项。现在它正在使用2.7.15 ...
此外,Azure中的CRON表达式有六个*,而不是五个加命令。同样,还有更多奇怪的事情要担心
我尝试了these instructions,但是网页Web.config文件的更新破坏了ASP.NET网页

理想情况下最具成本效益的选择



任何信息都将不胜感激


更多详细说明
目前,我有一个通过Azure App Service运行的ASP.NET站点,我想添加Python脚本以及可能的Flask / Rest功能。请注意,我不希望通过Python提供任何内容,并且将很大程度上按计划运行Python脚本,或者从ASP.NET调用它们。事实上,这很重要,我希望在提交Web表单时让ASP.NET触发/运行Python脚本。我意识到,如果我对运行Python的Rest api进行网络调用,将会获得类似的效果。无论如何,我不知道是否应该:


向运行网页的当前App Service添加Python扩展(我尝试过此操作),或者


我确实通过pip安装了Python 3.6.4和一些软件包
These instructions很有用,但是网页Web.config文件的更新会破坏ASP.NET网页

设置一个具有所有Python代码的VM(但是,如何让.NET网页在VM中调用Python?)或
使用Azure函数(这是我的新手,必须承认我更喜欢使用旧式Python环境,尽管我看到使用函数的好处。但是如何处理日志和调试?)
或自定义Windows容器(Docker)呢?


这需要安装VS Code,并且可以,但是我正在寻找一个解决方案,其他用户可以在尽可能减少干扰的情况下使用它




想法是增加Python的使用,尽管正如我说的那样,我不希望Python提供任何Web内容。它将用于在后台运行和运行计划的作业。将Python功能添加到Azure的最健壮,最希望最简单的方法是什么(最重要的是能够从运行.NET的App Service触发/使用Python的方法?)?到目前为止,我已经在线搜索并发现堆栈溢出的有趣发现,但我并不喜欢。


例如,以下链接讨论了如何计划WebJob。我刚刚创建了一个手册,当我调用webhook时,我收到一条消息:“没有为'/ api / triggeredwebjobs / TestPython / run'注册的路由” How to schedule python web jobs on azure
Docker方法看起来非常有前途,但是,我正在寻找一个简单的解决方案,因为还有其他人将参与所有这些工作,并且他正在忙于其他项目

非常感谢你!

最佳答案

尽管我愿意接受更多信息,但我找到了解决方案。就像我在帖子中提到的那样,我使用了“添加扩展”工具将Python 3.6.4添加到了我的Azure(安装在D:\ home \ python364x64中)。

然后,我通过pip安装了一堆软件包,这些软件包已安装到D:\ home \ python364x64 \ Lib \ site-packages中。

我在放置脚本的webpages \ Python中创建了一个Python文件夹。

最后,在ASP.NET中,我使用Diagnostics.Process调用在〜\ webpages \ Python \ somecode_2.py中运行代码

主要问题是Azure随附安装了Python 2.7.15。出于某种原因,当我执行Python代码时,它使用的是3.4(那个版本来自我)。因此,对于每个脚本,我必须创建一个_2.py版本,在该版本中,我仅执行以下操作即可通过Python 3.6.4调用原始脚本。看起来有点讨厌,但可以。因此,就像我说的,我将欢迎更多信息,以帮助您更好地做到这一点...

-

import os<br>
os.system("D:\\home\python364x64\python.exe SomePython.py {0}".format(add arguments here)

关于python - 需要有关如何将Python集成到Azure(特别是ASP.NET Web应用程序环境)中的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138615/

相关文章:

python - 如何使用 python 和 pygame 删除 rects/sprites

Azure 函数(时间触发器)仅在打开 Azure 门户时触发

powershell - 如何使用 HTTP 触发器 PowerShell Azure Function 读取 Azure 表存储?

Python 3.4 - 附加到列表的数字被认为是 NoneType

python - 为什么我们需要 python 包装(例如 egg)?

python - 如何在 python 3.6 中键入 hinte 高阶函数?

python - 将嵌套字典展平为列表列表

c# - Azure函数无法读取应用程序设置和连接字符串

azure - 无法从代码运行 ps 脚本。执行策略的问题

azure - 如何知道Azure DevOps构建管道中的上一步结果?