如何解决在Azure Functions中,我可以将C#HttpTrigger与Python HttpTrigger结合使用吗
我有一个C#Function应用程序,该应用程序为每个客户端提取多个文件和目录,并将该数据上传到Azure Blob存储。我有另一个用Python编写的Azure函数应用程序,该应用程序使用TimerTrigger从blob存储中提取这些文件。为了实时处理这些文件,我希望C#应用程序与Pytohn应用程序进行通信。可以让C#应用程序发布到HTTP并在Python应用程序中设置HttpTrigger以便在文件准备就绪时对其进行处理吗?
解决方法
是的,由于两个Azure函数都可以通过专用主机名http://<yourapp>.azurewebsites.net/api/<funcname>
进行访问,因此您只需在C#Azure函数中设置一个HttpClient
并将请求发送到Python Azure函数(假设您已添加一个Http触发到您的Python函数)
如果这些文件很大,那么遍历Blob存储可能仍然是一个更好的主意(因为您可以轻松利用file streaming之类的概念)。在这种情况下,您可以设置blob trigger in your Python app。该触发器几乎可以立即触发(假设您的Azure函数没有空闲运行并且执行cold start),因此不需要时间触发器。
,是的,您可以将python函数的触发器更改为httptrigger。因此,在创建Blob的第一个功能结束时,您可以调用python功能的httptrigger。
一个好的实践可能是将消息排队,然后让当前的python函数处理QueueTrigger中的blob。
您可以使用存储队列或服务总线来完成它。
因此,在c#函数末尾,您会将消息放入队列中,然后python函数将针对该消息触发并处理文件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。