我正在使用带有 blob 触发器的 Azure 函数应用程序 (Python) 来处理 CSV 并将记录移动到事件中心。遵循标准文档后,我有一个工作代码(最多 50 行)。但是我想知道如果文件在几 GB 的大小范围内应该采用什么方法。这整个文件会一次性发送到 Azure 函数吗?如果需要以固定大小的块或逐行读取,Azure 的触发器概念会支持吗?
我正在为 python 中的上述问题寻找任何方法/代码,以避免将完整的文件加载到 azure 函数容器内存中。
我正在使用带有 blob 触发器的 Azure 函数应用程序 (Python) 来处理 CSV 并将记录移动到事件中心。遵循标准文档后,我有一个工作代码(最多 50 行)。但是我想知道如果文件在几 GB 的大小范围内应该采用什么方法。这整个文件会一次性发送到 Azure 函数吗?如果需要以固定大小的块或逐行读取,Azure 的触发器概念会支持吗?
我正在为 python 中的上述问题寻找任何方法/代码,以避免将完整的文件加载到 azure 函数容器内存中。
如果您有一个不适合普通 Web 请求的文件,您可能会通过将其上传到对象存储实现(可能 Azure Blob 存储对您最方便)并将新的目标地址发送到函数来获得更好的服务。
AMQP 消息(这些是事件中心的底层内容)确实更适合处理少量数据。您也许还可以使 CSV 中的每一行或每行块成为一条独特的消息,但这在很大程度上取决于您的用例。
然后,您可能希望选择一个支持流的对象,而不是一次选择整个文件,例如BlockBlobService
这里有一个合理的示例,展示了如何执行此操作。