我有一个Azure函数,可以从Blob上传触发,Blob包含一个带有多条线的文本文件,每个文件包含一个人的信息。该函数读取文件并将KeyValuePair插入到每行的Azure队列中。
然后我有另一个Azure函数,它由我前面提到的队列触发,它是异步执行的,因为第一个函数将数千个KeyValuePairs存储到队列中。
我想要做的是,当第二个函数处理每个KeyValuePair时,我想写一个响应文件,其格式与第一个函数中的输入文件相同;每行包含有关一个人的信息。因此,第二个函数的每次执行都会在响应文件中写入一个新行(也就是blob)。你会如何实现这个目标?
答案 0 :(得分:3)
听起来您可以使用Append Blobs为每个队列项添加一行文字。
以下是您可以使用的示例绑定(注意inout
方向):
{
"type": "blob",
"name": "appendBlob",
"path": "container/{name}.txt",
"connection": "AzureWebJobsStorage",
"direction": "inout"
}
我假设您已经有了一个很好的方法来了解上一个文件应该何时结束并且应该启动一个新文件,这可能是队列消息的一部分。
另一方面,不保证队列处理的顺序,因此输出文件中的行与输入文件的顺序可能不同。