如何创建 Azure Function PowerShell 以将 .csv 转换为制表符分隔的 .txt 文件?

How to create Azure Function PowerShell to convert .csv to Tab Delimited .txt file?

我有一个创建逗号分隔值 blob“abc.csv”的逻辑应用程序。 然后我想 运行 一个 Powershell 函数应用程序将其数据从逗号分隔值转换为制表符分隔值并创建一个新的 blob“abc.txt”。

我可以使用 Powershell 在我的本地桌面上执行此转换,但之前从未在 Azure Function 中使用过 Powershell,所以我只需要帮助使用 Azure Function 中的 Powershell 脚本来连接到 blob,转换现有文件的数据类型并创建一个新文件blob 文件。

如果您是函数新手,我建议您先制定消费计划。然后摆弄这些函数。

这里是 powershell 开发者指南:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-powershell?tabs=portal

Python 由于并发的处理方式和默认情况下的单线程,函数和 Powershell 在某些领域有一点小众。如果您的访问量很大,我会注意到该部分。

我认为推出数据的最简单方法是利用输出绑定。从某种意义上说,它们很容易建立与另一个资源的连接,我强烈建议在这里阅读它们:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus-output?tabs=in-process%2Cextensionv5&pivots=programming-language-powershell

这是 powershell 输出绑定,它本质上采用连接字符串和函数主机,将为您处理将数据和连接推送到存储帐户的操作。您需要做的就是处理一些配置并将数据设置为与输出绑定关联的变量。

您可以使用 Azure Blob trigger to make the Azure function pickup the CSV files as soon as they get placed in the container of the storage account, then perform data conversion from Comma Separated Values to Tab Delimited and create a new blob using Azure Blob storage output binding.

具体流程如下

步骤 - 1: 从逻辑应用程序创建 .csv 文件并将它们保存到存储帐户的容器

步骤 - 2: 由于 Blob 触发器

,一旦文件被保存到容器中,Azure 函数就会触发

步骤 - 3: 执行从逗号分隔值到 Tab-Delimited.

的数据转换

步骤 - 4: 使用 Azure Functions 的 Azure Blob 存储输出绑定将生成的数据保存到另一个容器。

我在 Logic App iteslf 中找到了一个简单的解决方案,将 decodeUriComponent('%2c') 替换为 decodeUriComponent('%09'))。

初始化一个字符串变量并使用下面的函数表达式: replace(body('Create_CSV_table'),decodeUriComponent('%2c'),decodeUriComponent('%09'))