При желании писать в blob - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь настроить функцию Azure, которая будет записывать в BLOB-объекты, только если функция выполняется.BLOB-объект находится в том же месте, что и функция, поэтому я стараюсь не указывать строку подключения и делать это с привязками.В настоящее время я использую привязку что-то вроде следующего:

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

С этой привязкой я могу записать в файл JSON, используя:

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

Это прекрасно работает, когда условие истинно.Однако, когда условие ложно, файл становится пустым.Поскольку я не пишу в поток, я ожидал, что файл останется нетронутым.Прямо сейчас мой обходной путь должен иметь другую привязку чтения к тому же json и переписать содержимое файла.

1 Ответ

0 голосов
/ 17 февраля 2019

Вы можете использовать динамическое связывание в вашем случае.См. Этот пост для получения дополнительной информации:

Так что в основном вам нужно:

  • Добавьте параметр IBinder binder в определение вашей функции.
  • Если ваше условие true, напишите ваш файл:
    if (myCondition)
    {
        var binding= new BlobAttribute(blobPath: "folder/myFile.json");
        using (var writer = binder.Bind<TextWriter>(binding))
        {
            writer.Write(myContent);
        }
    }
    
...