azure 可选地写入blob

wfveoks0  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(130)

我正在尝试设置一个azure函数,该函数仅在函数完成时才写入blob。blob与函数位于同一位置,因此我试图避免提供连接字符串,并使用绑定来完成此操作。我目前使用的绑定如下:

[Blob("folder/myFile.json", FileAccess.Write)]Stream writeBlob

字符串
通过这个绑定,我可以使用以下命令写入JSON文件:

if (myCondition)
    using (var writer = new StreamWriter(writeBlob)) 
        writer.Write(myContent);


当条件为true时,这很好用。然而,当条件为false时,文件变空。由于我没有写入流,我希望文件保持不变。现在我的解决方案是将另一个读绑定到同一个json并重写文件内容。

n53p2ov0

n53p2ov01#

你可以在你的案例中使用动态绑定。查看这篇文章以获取更多信息:

所以基本上你需要:

  • 在函数定义中添加IBinder binder参数。
  • 当你的条件是true时,写你的文件:
if (myCondition)
{
    var binding= new BlobAttribute(blobPath: "folder/myFile.json");
    using (var writer = binder.Bind<TextWriter>(binding))
    {
        writer.Write(myContent);
    }
}

相关问题