Azure Logic App:在Blob中创建CSV文件

时间:2018-05-08 05:15:12

标签: azure csv blob azure-storage-blobs azure-logic-apps

我在更新blob中的csv文件时遇到问题。我的blob中有一个现有文件,这是一个CSV文件,当我按下下载按钮时,它会自动将文件下载到我的机器上。

现在我已经创建了一个将更新csv文件的Logic App。当我运行应用程序的触发器时,它会更新文件,但是当我按下下载时,它会打开一个新选项卡,其中将显示csv文件。

当我按下它时,我希望它像原版一样将文件下载到我的机器上。

如果可能的话,任何帮助都会做或验证。

我已经尝试过“compose”和“create to csv”,但这样它就不会将它存储到blob中。

1 个答案:

答案 0 :(得分:2)

正如我测试的那样,当你想在逻辑应用中创建一个带有“创建blob ”动作的.csv文件时,它总会遇到同样的问题。因为blob内容是“text/plan”,它将显示在另一个选项卡中以显示。

所以,我建议您可以使用azure函数来创建blob。在天蓝色功能中,您可以设置:blob.Properties.ContentType = "application/octet-stream";

这是azure函数中的create blob方法:

    storageAccount = CloudStorageAccount.Parse(connectionString);

    client = storageAccount.CreateCloudBlobClient();

    container = client.GetContainerReference("data");

    await container.CreateIfNotExistsAsync();

    blob = container.GetBlockBlobReference(name);
    blob.Properties.ContentType = "application/octet-stream";

    using (Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(data)))
    {
        await blob.UploadFromStreamAsync(stream);
    }

有关更详细的代码,您可以参考此article。完成后,您可以在本地计算机上下载blob。

注意:在逻辑应用中创建azure函数操作时,它将show error。只需删除“AzureWebJobsSecretStorageType”到“blob”的应用程序