在 Azure Web 应用程序上使用 Azure 存储 运行 exe 命令行应用程序

Use Azure Storage on an Azure Web App to run exe command line applications

我正在尝试了解 Azure 中 运行 Azure 中作为 Azure Web 应用程序一部分的多个命令行应用程序的可用功能。我想要 运行 的命令行应用程序基本上是 .exe 应用程序,它们还需要一些依赖文件,这些文件在 .exe 运行 时需要存在 (*.dll)。

我想编写一个 Azure Web 应用程序,Web 应用程序的部分逻辑是 运行 .exe 并将输出存储在其他地方(我还不太关心那部分) .但是,通过在 Internet 上搜索有关 Azure 存储、mounting/dismounting 驱动器等的信息...我完全糊涂了。

话虽如此,我正在努力弄清楚我的 Web 应用程序的设计在使用 Azure 技术时会是什么样子:

  1. 在这种情况下,推荐使用哪种 Azure 存储? (文件存储?Blob 存储?)
  2. 为了访问不同的 .exe 文件及其所有依赖项,我想我需要在 运行 时间以某种方式将存储挂载到 Web 应用程序上,以便我可以参考.exe 位于。甚至可以使用 Azure Web 应用程序,因为它们是平台即服务,我们无法控制执行代码的机器?
  3. 此外,由于我有三个不同的 .exe 命令行应用程序(及其依赖文件 -dlls-),在 Azure 存储中组织这些应用程序的最佳方式是什么?

我缺少一些基础知识,很高兴听到您对此事的意见,因为我开发了多个 Azure Web 应用程序,但从未在其中集成 Azure 存储。

编辑:澄清一下,我想要 运行 的命令行工具的数量可能会有所不同。我最终将拥有同一命令行工具的不同版本,并且仍然有办法 运行 任何版本,因此我认为有一个 Azure 存储,我可以在其中上传我的不同版本。

Azure 应用服务有其 . That's where you deploy your .exe and .DLLs (preferably with Git, but webdeploy/zipdeploy/FTP 始终是选项)。

您可以像在任何 Web 应用程序(.NET/PHP/whatever 堆栈)中一样调用它。这里没什么特别的。如果需要 临时 存储,请写入 %TEMP%

如果输出看起来像二进制 blob,您仍应使用 Blob storage 作为输出,否则请使用更合适的存储机制(SQL/NoSQL 数据库 - Azure SQL 和 Cosmos DB适合这里)。

You could probably do away with an Azure Function 如果您真的不需要一个完整的 Web 应用程序。