gpt4 book ai didi

azure - 是否有一个选项可以从 Azure 函数的部署中获取输出值处的事件网格触发器 url + 键?

转载 作者:行者123 更新时间:2023-12-02 23:30:29 25 4
gpt4 key购买 nike

是否有一个选项可以从 Azure 函数的部署中获取输出值处的事件网格触发器 url + 键?

我们想要做的场景如下:- 我们通过 ARM 在 VSTS 版本中部署功能服务。- 部署函数服务后,我们部署事件网格订阅。

谢谢,什拉达·阿格拉瓦尔

最佳答案

是的,有一种方法可以使用 REST API 来获取函数访问代码。步骤如下:

  1. 假设函数名称为 EventGridTrigger2 和 run.csx:

    #r "Newtonsoft.Json"

    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;

    public static void Run(JObject eventGridEvent, TraceWriter log)
    {
    log.Info(eventGridEvent.ToString(Formatting.Indented));

    }

和 function.json 文件:

    {
"bindings": [
{
"type": "eventGridTrigger",
"name": "eventGridEvent",
"direction": "in"
}
],
"disabled": false
}

如您所见,上述绑定(bind)是无类型的,它将适用于任何输出架构,例如InputEventSchemaEventGridSchema(默认架构)和CloudEventV01Schema em>(修复一些错误后)。

  • 创建的订阅的destination属性如下所示:

    "destination": {
    "properties": {
    "endpointUrl": null,
    "endpointBaseUrl": "https://myFunctionApp.azurewebsites.net/admin/extensions/EventGridExtensionConfig"
    },
    "endpointType": "WebHook"
    },
  • 请注意,Azure EventGrid 触发器的完整订阅者 URL 具有以下格式,其中查询字符串包含用于将请求路由到正确函数的参数:

    https://{FunctionApp}.azurewebsites.net/admin/extensions/EventGridExtensionConfig?functionName={FunctionName}&code={masterKey}

    为了创建订阅者,我们必须使用包含查询字符串的完整订阅者Url。此时,唯一未知的值是 masterKey。

  • 要获取 Function App(主机)主 key ,我们必须使用管理 REST API 调用:

    https://management.azure.com/subscriptions/{mySubscriptionId}/resourceGroups/{myResGroup}/providers/Microsoft.Web/sites/{myFunctionApp}/functions/admin/masterkey?api-version=2016-08-01
  • 响应的格式如下:

        {
    "masterKey": "*************************************************"
    }

    请注意,此调用需要身份验证承载 token

    一旦我们有了 FunctionApp(主机)的主 key ,我们就可以将它用于该主机内的任何功能。

    关于azure - 是否有一个选项可以从 Azure 函数的部署中获取输出值处的事件网格触发器 url + 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50367435/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com