我在azure中创建了一个python无服务器功能,当将新文件上传到azure blob(BlobTrigger)时将执行该功能。该函数提取文件的某些属性并将其保存在DB中。下一步,我希望此函数复制并处理在ACS中运行的容器实例内的相同文件。处理结果应返回到相同的azure函数。 这是我目前正在集思广益的一种假设架构。我想知道这是否可行。您能为我提供一些有关如何实现这一目标的指示。 我没有看到任何ContainerTrigger功能可以让我触发容器并处理下一步。 我尝试使用此处提到的代码示例,但是它们并没有真正执行我需要的任务:https://github.com/Azure-Samples/aci-docs-sample-python/blob/master/src/aci_docs_sample.py
答案 0 :(得分:1)
根据上面的评论,您可以考虑。
Azure容器实例
将容器部署在ACI(Azure容器实例)中,并像任何Web URL一样公开来自容器的HTTP端点。使用blob存储触发器触发Azure函数,然后将blob文件URL传递到容器的公开的http端点。在那里处理文件,然后像正常的http请求/响应一样将响应返回给azure函数。
您可以完全绕过azure功能,并可以使用逻辑应用程序触发ACI(容器实例),处理文件并直接保存在数据库中。
使用Azure函数时,请确保这是短暂的过程,因为Azure函数将在一定时间(默认5分钟)后退出。对于长时间处理,您可能必须考虑使用天蓝色持久功能。
以下网址可以帮助您更好地理解。 https://github.com/Azure-Samples/aci-event-driven-worker-queue