Azure 函数在文件到达 blob 时读取、处理和保存文件

问题描述 投票:0回答:1

我有一个用例,当文件到达 blob 容器时我必须对其进行处理。

这些文件是wireshark专有格式,需要使用特定程序(tshark)进行处理。

我的目标是执行将文件转换为csv的shell命令:

tshark -r <input_filename> <some other params> > <output_filename>.csv

然后将输出 csv 文件保存到另一个 blob 容器。

我知道我可以在 azure 函数中设置 blob 触发器来触发该过程,但我不确定如何将输出文件保存到 blob 并确保 tshark 在运行时可用。

另一个问题是:也许有比 azure 函数更好的方法来做到这一点?

azure azure-functions azure-blob-storage wireshark tshark
1个回答
0
投票

有比 azure 函数更好的方法吗?

是的,您可以使用 Azure 逻辑应用和 Azure 自动化帐户。

以下是我获得预期结果的方式:

enter image description here

这将调用自动化帐户。

在自动化帐户中,您可以添加 tshark 模块并使用它们。

enter image description here

然后您可以编辑 Runbook 并在其中包含参数并获取文件名。 在运行书中,使用从逻辑应用程序获取的 blob 名称获取 blob。 enter image description here

enter image description here

这里只是打印名称,您可以编写命令从 blobstorage 获取 blob 并使用 tsharks 。您还可以在 Runbook 中创建临时(SO-Thread,我使用 Temperoroy 文件)文件。

现在使用 blobname 获取 blob,然后使用 tshark,然后上传到另一个存储容器。

© www.soinside.com 2019 - 2024. All rights reserved.