![](/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.