当前位置: 首页 > 知识库问答 >
问题:

如何使用CLI使用enpoint类型Azure函数创建事件订阅?

景仲渊
2023-03-14

正在尝试使用CLI创建事件订阅。

使用门户,有七种不同的endpoint类型:

  • Azure函数
  • Web Hook
  • 存储队列
  • 活动中心
  • 混合连接
  • 服务总线队列
  • 服务总线主题

使用CLI,至少在留档中,只有三个可用:

  • eventhub
  • 杂交连接
  • servicebus队列
  • 储藏库
  • 网络钩子

如何创建指向Azure函数的事件订阅,就像在门户中完成的那样?我知道作为一种解决方案,我可以将该函数用作WebHook,但它是不一样的。

Az版本:

$ az --version
azure-cli                          2.7.0

command-modules-nspkg              2.0.3
core                               2.7.0
nspkg                              3.0.4
telemetry                          1.0.4

Extensions:
interactive                        0.4.4

Python location '/opt/az/bin/python3'
Extensions directory '/home/angelcc/.azure/cliextensions'

Python (Linux) 3.6.10 (default, May 29 2020, 08:10:59) 
[GCC 9.3.0]

Legal docs and information: aka.ms/AzureCliLegal


Your CLI is up-to-date.

Please let us know how we are doing: https://aka.ms/clihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy

共有1个答案

申昌勋
2023-03-14

使用以下示例:

  az eventgrid event-subscription create --name myName \
      --source-resource-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.EventGrid/topics/myTopic" \
      --endpoint-type AzureFunction \
      --endpoint "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG1/providers/Microsoft.Web/sites/myFncApp/functions/myEventGridTrigger"

更新:

在避免eventgrid扩展的情况下,我们可以使用对AEG服务的本机访问,如RESTAPI。

下面是上面使用az rest的示例:

az rest --method PUT \
  --url "https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG/providers/Microsoft.EventGrid/topics/myTopic/providers/Microsoft.EventGrid/eventSubscriptions/myName?api-version=2020-04-01-preview" \
  --body "{\"properties\":{\"destination\":{\"endpointType\":\"AzureFunction\",\"properties\":{\"resourceId\":\"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRG1/providers/Microsoft.Web/sites/myFncApp/functions/myEventGridTrigger\"}}}}"
 类似资料:
  • 使用此类型类将地图转换为case类: 此函数用于隐式获取正确的映射器 它可以用作 但我也希望能够将此函数与 Option[Map[]] 或 Future[Map[]] 或 List[Map[]] 一起使用。所以我使用这样的函子实现了一个泛型函数: 但是现在这个函数必须用作 。 但是,我希望能够将该功能用作 无需指定函子类型。这在某种程度上是可能的吗? Shapeless的懒惰可以用来解决这个问题吗

  • 我注意到我为C#代码生成不同的文件夹结构和文件扩展名,具体取决于我是使用Azure CLI(带有.csx脚本库的文件夹)还是Visual Studio(没有带有.cs类库的文件夹)。从 CLI 进行调试只会公开 .csx 终结点,反之亦然。 有没有可能配置Azure CLI使用类库生成函数?或者让CLI和Visual Studio提供相同的调试endpoint?

  • 我无法找到通过 CLI 创建自定义备份策略的方法 https://docs.microsoft.com/en-us/cli/azure/backup/policy?view=azure-cli-latest 但是,这可以通过REST API调用来完成https://docs.microsoft.com/en-us/azure/backup/backup-azure-arm-userestapi-c

  • 我需要使用Java创建Azure函数BlobTrigger来监视我的存储容器中是否有新的和更新的blob。 使用以下代码尝试 执行时,它显示错误 存储绑定(blob/队列/表)必须具有非空连接。在方法上发现无效的存储绑定: 当添加连接字符串时,它正在工作 为什么我在使用blobtrigger时需要添加连接字符串? 在C#中,它在没有连接字符串的情况下工作: 我没有看到任何Azure函数的Java示

  • 我想创建一个Azure功能与JavaSDK,但我有一些问题定义触发器,我的代码创建的函数应用程序是: 我想定义一个EventHub触发器,但我不知道怎么做,我看到我的函数对象有以下方法: 有效载荷格式是什么?还有别的办法吗? 问候维克多

  • 基本上,我试图使用ARM部署一个事件网格订阅来收集订阅中的特定事件(主题类型= Azure订阅)。我已经有一个创建了事件网格触发功能的功能应用程序,只需要将该功能与事件网格订阅绑定为webhook。 我正在使用Azure DevOps中的发布管道来自动化整个工作流。 以下是我使用的一个示例: 这最终部署了事件网格主题,而不是事件网格订阅。 然后,有人建议我尝试以下操作: 但是这最终以这个错误而失败