Почему мой BLOB-объект создается без содержимого?
У меня есть выходной привязки для создания BLOB-объектов в следующем:
public static class OnSchedulingToMMMQueueTriggered
{
[FunctionName("OnSchedulingToMMMQueueTriggered")]
public static void Run(
[QueueTrigger("httpqueue", Connection = "OnSchedulingToMMMQueueTriggered:SourceQueueConnection")] MyPayload myQueueItem,
[Blob("processed/{Payload}", FileAccess.Write, Connection = "OnSchedulingToMMMQueueTriggered:ProcessedPayloadsConnectionString")] Stream processedPayload,
ILogger log)
{
log.LogInformation($"C# Queue trigger function processed: {myQueueItem.Payload}");
processedPayload = StreamGenerator.GenerateStreamFromString(myQueueItem.Payload);
}
}
Создает BLOB-объект и присваивает ему правильное имя с помощью processed/{Payload}
; однако, когда я проверяю, что внутри блоба, он пуст!
Я предполагаю, что это не работает:
processedPayload = StreamGenerator.GenerateStreamFromString(myQueueItem.Payload);
Вот пример, которым я следую, из здесь :
[FunctionName("ResizeImage")]
public static void Run(
[BlobTrigger("sample-images/{name}")] Stream image,
[Blob("sample-images-sm/{name}", FileAccess.Write)] Stream imageSmall, //output blob
[Blob("sample-images-md/{name}", FileAccess.Write)] Stream imageMedium)
{
//your code here
}
Почему BLOB-объект создается как пустой?
Вот моя реализация StreamGenerator
:
public static class StreamGenerator
{
public static Stream GenerateStreamFromString(string s)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
}