创建事件网格订阅的正确端点格式是什么

时间:2018-09-01 16:04:11

标签: azure azure-functions azure-eventgrid

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

问题是,当尝试使用CLI(以管理员身份登录的Cloud 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.

如果我省略代码,则会收到一条消息,指示订阅失败,因为它无法验证端点。

如果我尝试使用功能端点https://XXX.azurewebsites.net/FunctionName常用的形式来使用该端点,那么我也会抱怨验证。

从Cloud Shell中的CLI创建预订时,端点的正确格式是什么?是否包含code参数?在哪里可以找到正确的代码?

使用:

Microsoft.NET.Sdk.Functions 1.0.19
Microsoft.Azure.EventGrid 1.4.0
Microsoft.Azure.WebJobs.Extensions.EventGrid 1.0.0

1 个答案:

答案 0 :(得分:0)

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