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

时间:2018-03-19 22:04:30

标签: azure azure-web-sites azure-storage azure-storage-blobs file-storage

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

我想编写一个Azure Web App,Web应用程序的部分逻辑是运行.exe并将输出存储在其他地方(我还没关心那个部分)。但是,通过在互联网上搜索Azure存储,安装/卸载驱动器等等......我完全糊涂了。

话虽如此,我正在努力弄清楚我的Web应用程序的设计将如何使用Azure技术:

  1. 在这种情况下,建议使用哪种Azure存储? (文件存储?Blob存储?)
  2. 为了访问不同的.exe文件及其所有依赖项,我想我需要在运行时以某种方式在Web应用程序上安装存储,以便我可以参考.exe所在的路径。甚至可以使用Azure Web App,因为这些是平台即服务,我们无法控制执行代码的机器吗?
  3. 此外,由于我有三个不同的.exe命令行应用程序(带有依赖项文件-dlls-),在Azure存储中组织这些应用程序的最佳方法是什么?
  4. 我缺少一些基础知识,并且很高兴听到您对此事的看法,因为我开发了几个Azure Web Apps但从未在其中集成Azure存储。

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

1 个答案:

答案 0 :(得分:1)

Azure App Service有own storage。您在那里部署.exe和.DLL(最好使用Git,但webdeploy / zipdeploy / FTP总是选项)。

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

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

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