【问题标题】:Is there a way trigger "http trigger" azure function, after deploy ARM template?部署ARM模板后,有没有办法触发“http trigger”天蓝色功能?
【发布时间】:2022-03-15 18:11:37
【问题描述】:

我有 ARM 部署 kubernetes 集群和 httptrigger 函数应用程序。在 httptrigger func 内部,我有 kubernetes 的客户端,如果我手动触发此 func,它会执行一些操作,它工作正常。但是我需要在部署 ARM 完成后自动运行这个触发器。

【问题讨论】:

  • 我对你的问题不是很清楚,所以请你更清楚地描述你的问题。根据您目前的描述,您只是通过http请求请求您的http触发功能。想问如何通过arm模板部署你的azure函数?
  • @HuryShen 我有 ARM 部署 kubernetes 集群和 httptrigger 函数应用程序。在 httptrigger func 内部,我有 kubernetes 的客户端,如果我手动触发此 func,它会执行一些操作,它工作正常。但是我需要在部署 ARM 完成后自动运行这个触发器。
  • 抱歉,据我所知,我们做不到。

标签: azure azure-functions


【解决方案1】:

触发 Azure 函数的 HTTP 请求可以由 ARM 本身发送,也可以由您用于执行模板的任何协调器(例如 Azure DevOps 管道)发送。 Terraform 可以直接执行脚本;除非你真的想使用 ARM,否则它可能是一种选择。

如果你想用 ARM,至少有三个选择:

  1. 使 Azure 函数返回一个“空”ARM 模板,并通过对嵌套部署模板的请求触发它。 https://blog.cloudtrooper.net/2017/04/04/run-azure-functions-from-your-quickstart-arm-templates/
  2. 使用Azure Container Instances 在 Azure 中将容器映像的实例作为独立容器启动,并在其中执行任意命令。 https://samcogan.com/run-scripts-in-arm-deployments-with-aci/
  3. 使用deployment scripts resource (Microsoft.Resources/deploymentScripts)。它基本上是对使用 Azure 容器实例的方法的内置支持。请参阅the official docs 或我仍然喜欢该功能仍处于预览阶段时的旧文章:https://dev.to/omiossec/arm-template-what-s-new-for-2020-4kli#deployementsscripts-resource-provider

在任何情况下,您都需要正确设置 dependsOn 引用,以便在正确的时间发送请求。或者更好的是,如果使用得当,请使用主要隐式处理依赖关系的二头肌。

【讨论】:

    【解决方案2】:

    假设您使用 Powershell 部署 ARM 模板,您可以在部署 ARM 模板后立即使用 Powershell 触发 azure http 触发功能:

    Invoke-WebRequest -Uri <function_uri> -Method POST

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      • 2023-04-06
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多