Azure 创建事件网格订阅的合适端点格式是什么

Azure 创建事件网格订阅的合适端点格式是什么,azure,azure-functions,azure-eventgrid,Azure,Azure Functions,Azure Eventgrid,我有一个由事件网格触发器执行的Azure函数。该功能已调试并按设计运行。我能够使用Azure门户中的UI成功创建对事件网格主题的订阅(单击添加事件网格订阅并完成屏幕表单) 问题是,在尝试使用CLI(以管理员身份登录的云Shell)创建订阅时,无法获得正确的端点格式。我使用的基本模板是 az eventgrid event-subscription create --resource-group $resourceGroup --topic-name $topicName --included-e

我有一个由事件网格触发器执行的Azure函数。该功能已调试并按设计运行。我能够使用Azure门户中的UI成功创建对事件网格主题的订阅(单击
添加事件网格订阅
并完成屏幕表单)

问题是,在尝试使用CLI(以管理员身份登录的云Shell)创建订阅时,无法获得正确的端点格式。我使用的基本模板是

az eventgrid event-subscription create --resource-group $resourceGroup
--topic-name $topicName
--included-event-types $includedEventTypes
--name $eventSubscriptionName
--endpoint  https://XXX.azurewebsites.net/admin/extensions/EventGridExtensionConfig?functionName=FunctionName&code=ABC123
我尝试从UI复制自动填充的端点,包括其代码参数。它在UI中工作,但不在CLI中工作。当我使用门户中提供的端点和代码运行上述脚本时,我得到了以下结果

The term 'code=<XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX> is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

尝试使用引号符号包装函数端点,
&
在CLi语法中似乎是保留符号,因此您的参数
code
从url中剪切

请查看EventGridTrigger的完整订阅URL,其格式如下:https://{FunctionAppName}.azurewebsites.net/admin/extensions/EventGridExtensionConfig?functionName={EventGridTriggerFunctionName}&code={masterKey}我尝试使用_主密钥和默认主机密钥以及通过使用_主密钥发送GET请求而创建的系统密钥进行订阅。术语“code=XXXX”不会被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。我刚刚在门户(更新事件订阅)上使用CLI使用双引号包装端点值的主密钥对其进行了测试,正如Jerry的答案所建议的那样。我只是尝试了双引号并使用主密钥。现在尝试验证提供的端点https://XXX.azurewebsites.net/admin/extensions/EventGridExtensionConfig 失败。有关更多详细信息,请访问https://aka.ms/esvalidation.将端点用引号括起来解决了问题。在某个时候,功能应用程序停止工作。在再次发布并将端点置于引号中并使用_主密钥之后,一切正常。
Microsoft.NET.Sdk.Functions 1.0.19
Microsoft.Azure.EventGrid 1.4.0
Microsoft.Azure.WebJobs.Extensions.EventGrid 1.0.0