我正在尝试了解 Azure 中可用的功能,以在 Azure 中运行多个命令行应用程序作为 Azure Web 应用程序的一部分。我想要运行的命令行应用程序基本上是 .exe 应用程序,它们还需要一些依赖文件,这些依赖文件在 .exe 运行时需要存在(*.dll)。
我想编写一个 Azure Web 应用程序,该 Web 应用程序的部分逻辑是运行 .exe 并将输出存储在其他地方(我还不太关心这部分)。然而,通过在互联网上搜索有关Azure存储、安装/拆卸驱动器等...我完全困惑了。
话虽如此,我正在努力弄清楚使用 Azure 技术设计我的 Web 应用程序会是什么样子:
- 在这种情况下建议使用哪种 Azure 存储? (文件存储?Blob 存储?)
- 为了访问不同的 .exe 文件及其所有依赖项,我想我需要在运行时以某种方式在 Web 应用程序上安装存储,以便我可以引用 .exe 所在的路径。使用 Azure Web 应用程序是否可以实现这一点,因为它们是平台即服务,并且我们无法控制执行代码的机器?
- 此外,由于我有三个不同的 .exe 命令行应用程序(及其依赖文件 -dlls-),因此在 Azure 存储中组织这些应用程序的最佳方式是什么?
我缺少一些基础知识,很高兴听到您对此事的意见,因为我开发了多个 Azure Web 应用程序,但从未在其中集成 Azure 存储。
编辑:只是为了澄清一下,我想要运行的命令行工具的数量可能会有所不同。我最终将拥有同一命令行工具的不同版本,并且仍然有办法运行任何版本,因此我认为在某种程度上需要有一个可以上传不同版本的 Azure 存储。
最佳答案
Azure 应用服务有其 own storage 。您可以在此处部署 .exe 和 .DLL(最好使用 Git,但 webdeploy/zipdeploy/FTP 始终是选项)。
您可以像在任何 Web 应用程序(.NET/PHP/任何堆栈)中一样调用它。这里没什么特别的。如果需要临时存储,请写入%TEMP%
。
您仍然应该使用Blob storage对于您的输出,如果所述输出看起来像二进制 blob,则使用更合适的存储机制(SQL/NoSQL 数据库 - Azure SQL 和 Cosmos DB 适合此处)。
You could probably do away with an Azure Function如果您确实不需要一个完整的网络应用程序。
关于azure - 在 Azure Web App 上使用 Azure 存储来运行 exe 命令行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49373116/