繁体   English   中英

使用共享程序集部署Azure功能

[英]Deployment of Azure Function with Shared Assemblies

我正在构建一个Azure功能,我使用一种预编译方法。 在函数本身中,我们只有一个调用“Process.Run()”来启动预编译的私有DLL。 这些dll保存在Web应用程序根目录下的Shared文件夹中。

就我们所见,一切都在完美运行,但现在我们想通过ARM模板或PowerShell脚本(ZIP)进行部署。 我们还使用Visual Studio预览功能模板。

我们想要部署的形式是

-- Host
---Shared (Deploy DLL's in this folder)
---HttpTriggerFunctionCSharep1
----(Deploy the needed files to this directory)

您可以通过多种方式部署Azure功能。 是关于它的一个很好的博客文章,我将在下面为您总结并添加第四点。

  1. GIT集成
  2. KUDU Rest API
  3. MSdeploy.exe / WAWSDeploy.exe
  4. ARM模板与MSDeploy结合使用。

我首选的方法是#4。 您需要为此部署执行几个步骤。

  1. 创建一个包含Azure功能应用程序代码的ZIP。 ZIP中的内容需要具有正确的文件夹结构
  2. 将此ZIP上载到Azure存储blob容器。
  3. 在您的ARM模板中部署一个空的功能应用程序( 可能是您的起点。)
  4. 将MSDeploy ARM资源添加到Azure功能应用程序以将ZIP部署到功能应用程序。 这是MSDeploy资源的示例:
{
    "name": "MSDeploy",
    "type": "extensions",
    "location": "[resourceGroup().location]",
    "apiVersion": "2015-08-01",
    "dependsOn": [
        "[concat('Microsoft.Web/sites/', variables('functionAppName'))]"
    ],
    "properties": {
        "packageUri": "[concat('https://',parameters('storageAccount'), '.blob.core.windows.net/', parameters('storageContainer'), '/', parameters('zipFile'))]",
        "dbType": "None",
        "connectionString": ""
    }
}

我还发现了这个示例实现,它也基于我上面描述的原则: https//github.com/ianalderman/AZF_Samples/tree/master/DeploymentExample

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM