Azure 函数应用程序 - 写入 blob

Hos*_*Hos 3 c# azure azure-storage-blobs azure-functions

我试图从我的 Azure 函数写入一个 blob(txt 文件),但是,没有任何反应:没有创建 blob,没有抛出异常。我从这里获取了 Blob 触发器代码:https : //docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#output

这是我的代码:

[FunctionName("ProcessFiles")]
public static void Run(
[BlobTrigger("sample-items/sample-file.csv", Connection = "sample-connection")] Stream myBlob,
[Blob("sample-items/validationResult.json", FileAccess.Write)] Stream validationOutput,
TraceWriter log)
{
    log.Info($"C# Blob trigger function Processed blob\n Size: {myBlob.Length} Bytes");

    using (var sw = new StreamWriter(validationOutput, Encoding.UTF8))
    {
        try
        {
            sw.Write("HELLO WORLD");            
            sw.Flush();
        }
        catch (Exception ex)
        {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这些是我的 Nuget 包:Microsoft.NET.Sdk.Functions 1.0.10。

Blob 容器具有“私有访问”策略

Hos*_*Hos 6

看来我使用的流不正确。以下代码更改使其工作:(将 Connection 属性添加到 validationOutput 并从 Stream 更改为 TextWriter)

[FunctionName("ProcessFiles")]
public static void Run(
[BlobTrigger("sample-items/sample-file.csv", Connection = "sample-connection")] Stream myBlob,
[Blob("sample-items/validationResult.json", FileAccess.Write, Connection = "sample-connection")] TextWriter validationOutput,
TraceWriter log)
{
    log.Info($"C# Blob trigger function Processed blob\n Size: {myBlob.Length} Bytes");

    validationOutput.WriteLine("hello world");
}
Run Code Online (Sandbox Code Playgroud)