可选择写入 blob

Optionally writing to blob

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

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

有了这个绑定,我可以使用以下方式写入 JSON 文件:

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

当条件为真时,这工作正常。但是,当条件为假时,文件变为空。因为我没有写入流,所以我希望文件保持不变。现在我的解决方法是将另一个读取绑定到同一个 json 并重写文件内容。

您可以根据自己的情况使用动态绑定。有关详细信息,请参阅此 post:

所以基本上你需要:

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