![](/img/trans.png)
[英]How do I generate the DDL file need for Azure Synapse Pathways
[英]Azure Function TextWriter stream is appending to file and not overwriting - do I need to wrap in a using statement?
我有一個 Azure 存儲帳戶,我可以在其中上傳文件。 文件上傳發生在 Azure Function(Blob 觸發器)中。
一切都按預期工作,但是,如果我觸發 Function 三次,該文件將附加前三個會話數據。 我認為我沒有正確處理 stream。
public void Run(
[BlobTrigger("raw/{name}")] Stream input,
[Blob("data/{name}", FileAccess.Write)] TextWriter output,
string name,
ILogger log)
然后我寫信給 output 如下:
output.WriteLine(data);
我不確定如何將其包裝在 using 語句中。
誰能建議?
這是對我有用的代碼,每次我觸發 function 文件都會被當前觸發的數據覆蓋。
using System;
using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
namespace FunctionAppTW
{
public static class Function1
{
[FunctionName("Function1")]
public static void Run([BlobTrigger("raw/{name}", Connection = "")] Stream input, [Blob("data/{name}", FileAccess.Write)] TextWriter output, string name, ILogger log)
{
StreamReader reader = new StreamReader(input);
string data = reader.ReadToEnd();
output.WriteLine(data);
}
}
}
結果:
我自己之前遇到過這個問題。 我不記得了,但我在我的函數應用程序中使用了依賴注入。 我的實現代碼使 stream 保持活動狀態,並在僅使用 output.writeline() 語句時聚合以前的運行。
在每次方法調用之前,我都必須關閉並處理之前的 session。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.