我正在尝试建立一个仅在功能满足时才写入blob的azure函数。 Blob与函数位于相同的位置,因此我尝试避免提供连接字符串,并使用绑定进行此操作。我目前正在使用类似以下内容的绑定:
[Blob("folder/myFile.json", FileAccess.Write)]Stream writeBlob
有了此绑定,我可以使用以下命令写入JSON文件:
if (myCondition)
using (var writer = new StreamWriter(writeBlob))
writer.Write(myContent);
当条件为真时,这可以正常工作。但是,如果条件为假,则文件为空。由于我没有写入流,因此希望该文件保持不变。现在,我的解决方法是让另一个读取绑定到相同的json并重写文件内容。
答案 0 :(得分:1)
您可以根据情况使用动态绑定。有关更多信息,请参见这篇文章:
所以基本上您需要:
IBinder binder
参数。true
时,写入文件:
if (myCondition)
{
var binding= new BlobAttribute(blobPath: "folder/myFile.json");
using (var writer = binder.Bind<TextWriter>(binding))
{
writer.Write(myContent);
}
}