【问题标题】:Azure Logic App: Create CSV File in BlobAzure 逻辑应用:在 Blob 中创建 CSV 文件
【发布时间】:2018-10-17 23:19:30
【问题描述】:

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

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

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

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

我已经尝试过“撰写”和“创建到 csv”,但这样它不会将其存储到 blob。

【问题讨论】:

  • 您在使用get blob content 操作吗?如果您单击show advanced options,您将看到Infer Content Type 字段。将其设置为No,它应该可以工作。
  • 因为你的content-type是text/plain,所以需要设置成application/octet-stream。

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


【解决方案1】:

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

所以,我建议您可以使用 azure 函数来创建 blob。在 azure 函数中你可以设置: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。

注意:当你在逻辑应用中创建天蓝色函数动作时,它会show error。只需将“AzureWebJobsSecretStorageType”的 Appsetting 删除为“blob”

【讨论】:

  • 谢谢。我花了几天时间才明​​白,但我明白了。 :)
猜你喜欢
  • 2020-05-07
  • 2020-03-29
  • 2018-06-11
  • 2019-05-09
  • 2021-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-10
相关资源
最近更新 更多