Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure Blob存储更新_C#_Azure_Azure Functions - Fatal编程技术网

C# Azure Blob存储更新

C# Azure Blob存储更新,c#,azure,azure-functions,C#,Azure,Azure Functions,我正在尝试从Azure BlockBlob读取内容,应用一些转换并将内容写回Azure函数中的同一blob 下面是写回内容的代码。它运行成功。但是,当我检查最后一个blob中的内容时,它只有部分数据。e、 g.内容中应该有28行数据,但内容只有26行半,调用“UploadFromStreamAsync”后,内容部分似乎丢失了。我在网上看到了很多例子,但它们都是关于上传全新文件的。更新blob时,代码中是否缺少某些内容 protected async Task WriteItemsToBl

我正在尝试从Azure BlockBlob读取内容,应用一些转换并将内容写回Azure函数中的同一blob

下面是写回内容的代码。它运行成功。但是,当我检查最后一个blob中的内容时,它只有部分数据。e、 g.内容中应该有28行数据,但内容只有26行半,调用“UploadFromStreamAsync”后,内容部分似乎丢失了。我在网上看到了很多例子,但它们都是关于上传全新文件的。更新blob时,代码中是否缺少某些内容

    protected async Task WriteItemsToBlog(string blobName, List<T> items)
    {

        var cloudStorageAccount =
            new CloudStorageAccount("MyStorageCredentials", "MyAccountName", null, true);

        var cloudBlobClient =
            cloudStorageAccount.CreateCloudBlobClient();

        var cloudBlobContainer =
            cloudBlobClient.GetContainerReference("MyContainerPath");

        var cloudBlockBlob =
            cloudBlobContainer.GetBlockBlobReference(blobName);

        var ms = new MemoryStream();

        using (var writer = new StreamWriter(ms))
        using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
        {
            csv.WriteRecords(items);                 
            ms.Position = 0;
            cloudBlockBlob.Properties.ContentType = "text/plain";

            await cloudBlockBlob.UploadFromStreamAsync(ms, ms.Length);
        }
    }
受保护的异步任务WriteItemsToBlog(字符串blobName,列表项)
{
云存储账户=
新的CloudStorageAccount(“MyStorageCredentials”,“MyAccountName”,null,true);
var cloudBlobClient=
cloudStorageAccount.CreateCloudBlobClient();
var cloudBlobContainer=
cloudBlobClient.GetContainerReference(“MyContainerPath”);
var cloudBlockBlob=
cloudBlobContainer.GetBlockBlobReference(blobName);
var ms=新内存流();
使用(var编写器=新的StreamWriter(ms))
使用(var csv=new CsvWriter(writer,CultureInfo.InvariantCulture))
{
csv.书面记录(项目);
ms.Position=0;
cloudBlockBlob.Properties.ContentType=“text/plain”;
等待cloudBlockBlob.UploadFromStreamAsync(毫秒,毫秒长度);
}
}

第一个问题:不使用绑定有什么原因吗?嗨,沉默,我正在尝试使用逻辑应用程序和Azure功能的组合在一起。Logic App database connector从数据库获取数据并将结果以CSV格式存储到Blob后,流将通过传递Blob名称继续调用Azure函数,以便Azure函数可以应用一些复杂的转换并将结果保存回Blob。