【问题标题】:How to deploy an Azure Function (along with it's code) using Azure Resource Manager template?如何使用 Azure 资源管理器模板部署 Azure 函数(及其代码)?
【发布时间】:2017-12-22 23:01:53
【问题描述】:

我们想创建一个资源管理器模板来部署一个 azure 函数。模板 json 文件以及函数本身的代码将托管在公共位置(很可能是 github)。到目前为止,我们已经创建了接受用户输入(例如电子邮件地址)的模板,创建了功能代码,但我们无法找到如何在模板 json 中指定代码位置。 (AWS 允许我们将 lambda 代码作为 zip 文件托管在 S3 存储桶中,这将由他们的云形成模板提取。只需将模板 json 和代码 zip 文件托管在 S3 存储桶中,就完成了。它是很简单!)

我们仔细研究了多个文档和教程,但仍然无法弄清楚代码的托管位置,以及如何在模板 json 中指定它的位置。我们看到一些例子,我们发现代码是在 json 模板中内联指定的,我们不想这样做。我们宁愿在单独的 zip 文件中提供代码。

感谢任何帮助。谢谢!

【问题讨论】:

    标签: azure templates azure-functions azure-resource-manager


    【解决方案1】:

    根据您的情况,您可能需要template

    在您的模板中,使用以下示例添加源代码。

    "resources": [{
    
                "apiVersion": "2015-08-01",
    
                "name": "web",
    
                "type": "sourcecontrols",
    
                "dependsOn": [
    
                    "[resourceId('Microsoft.Web/Sites', variables('functionAppName'))]"
    
                ],
    
                "properties": {
    
                    "RepoUrl": "[parameters('repoURL')]",
    
                    "branch": "[parameters('branch')]",
    
                    "IsManualIntegration": true
    
                }
    
            }]
    

    【讨论】:

    • 如何指定通过 vsts 生成的构建工件中可用的 zip 文件?
    【解决方案2】:

    要从存储帐户中的 blob 容器运行,请考虑使用 WEBSITE_RUN_FROM_PACKAGE,尽管您必须创建它并将 zip 放入引用的位置。这将进入 ARM 中 functionApp 的 appSettings 数组。

    或者有WEBSITE_RUN_FROM_ZIP [1] 但可能被WEBSITE_RUN_FROM_PACKAGE 取代。

    使用任一选项,请注意您需要将触发器与以下内容同步:

    az resource invoke-action --resource-group ${resource_group_name} --action syncfunctiontriggers --name ${function_app_name} --resource-type Microsoft.Web/sites"
    

    [0]https://docs.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package [1]https://docs.microsoft.com/en-us/azure/azure-functions/deployment-zip-push

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多