簡體   English   中英

為什么將Blob創建為空?

[英]why is the blob being created as empty?

為什么創建的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;
    }
}

似乎您的代碼將生成的流分配給本地var processedPayload

你可能想要

StreamGenerator.GenerateStreamFromString(myQueueItem.Payload).CopyTo(processedPayload)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM