【问题标题】:Arm template: get http trigger from staging slotArm 模板:从暂存槽获取 http 触发器
【发布时间】:2018-05-10 09:27:59
【问题描述】:

我需要在暂存槽中获取基于 HTTP 触发器的函数的 URL(或 URL 中使用的代码)。

我能够在生产槽(网站/站点/功能)中获取 functionapp 的 trigger_url 变量值。但我无法获取暂存槽中的 functionapp 的 trigger_url 值。

示例模板获取应用设置“PostUrl”的生产值而不是暂存值。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "functionAppName": {
            "defaultValue": "functionAppName",
            "type": "string"
        }
    },
    "resources": [
        {
            "type": "Microsoft.Web/sites/slots",
            "name": "[concat(parameters('functionAppName'), '/staging')]",
            "apiVersion": "2016-08-01",
            "location": "West Europe",
            "properties": {
                "siteConfig": {
                    "appSettings" : [
                        {
                            "name": "PostUrl",
                            "value":  "[listSecrets(resourceId('Microsoft.Web/sites/functions', parameters('functionAppName'), 'RequestName'),'2015-08-01').trigger_url]"
                        }
                    ]
                }
            }
        }
    ]
}

【问题讨论】:

  • 能否请您发布错误消息?谢谢:-)
  • 这不会出错。这是一个有效的例子。我需要对其进行修改以从暂存槽而不是生产网站获取值。谢谢
  • 所以您希望 PostUrl appsettings 包含插槽 url ??
  • 是的,确实是这样:)
  • 更具体地说:基于 HTTP 触发器的函数的插槽 url,其中还包含触发函数所需的“代码”参数。所以我需要这样的东西:(伪)sites/functionApp/slots/staging/HttpTriggerRequestName.trigger_url

标签: azure azure-resource-manager


【解决方案1】:

默认情况下,url 应该总是相当静态的,只是“https://myfunction-myslotname.azurewebsites.net”。但是,您确实需要为插槽使用不同的密钥。

您是否尝试将插槽名称传递给“resourceId”模板?

resourceId('Microsoft.Web/sites/functions', parameters('functionAppName'), 'RequestName')

尝试这样的事情(替换为您的插槽名称)

[resourceId('Microsoft.Web/sites/slots', parameters('functionAppName'), 'slotname')] [resourceId('Microsoft.Web/sites/slots', parameters('functionAppName'), 'RequestName', 'slotname')]

您的 resourceId 目前总是这样,也许这也有帮助:

/subscriptions/<subscriptionid>/resourceGroups/<functionname>/providers/Microsoft.Web/sites/<functionname>/slots/<slotname>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2016-06-28
    相关资源
    最近更新 更多