Azure Function应用程序Python Blob触发器巨大的文件大小



我使用带有blob触发器的Azure函数应用程序(Python(来处理CSV并将记录移动到事件中心。在遵循标准文档之后,我有了一个工作代码(最多50行(。然而,我想知道如果文件的大小范围在几GB以内,应该采取什么方法。整个文件会一次性发送到Azure功能吗?如果它需要以固定大小的块或逐行读取,Azure的触发器概念会支持吗?

我正在寻找任何方法/代码来解决python中的上述问题,以避免在azure函数容器内存中加载完整的文件。

如果您有一个文件对于正常的web请求来说很难处理,那么将其上传到对象存储实现(可能Azure Blob storage对您来说最方便(并将新的目标地址发送到函数可能会更好地为您服务。

AMQP消息(这就是Event Hub所隐藏的(实际上更适合于短数据量。您也可以使CSV中的每一行或行块成为一条独特的消息,但这在很大程度上取决于您的用例。

然后,您可能希望选择一个支持流的对象,而不是一次选择一个完整的文件,例如BlockBlobService。下面是一个合理的示例,展示了如何做到这一点。

最新更新