可选择写入 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);
}
}
我正在尝试设置一个 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); } }