首页 > 解决方案 > 使用 Terraform 制作 Azure Logic Apps,有什么限制?

问题描述

据我所知,可以使用 Terraform 构建逻辑应用程序。但是,文档仍然不是很好,看起来这个功能很新。

TF 和 Azure 逻辑应用有哪些限制?有吗?

我想构建两个应用程序,一个是每月触发的,另一个是由 https 请求触发的。我希望这些然后运行两个 python 脚本,并且我希望后者将此脚本的结果返回给调用 https 的客户端。

这可以在 Terraform 中实现自动化吗?目前,这方面的示例和文档很少。任何评论或提示都是有帮助的,并张开双臂迎接!

标签: terraformazure-logic-appsterraform-provider-azure

解决方案


您可以通过 Terrform (TF) 创建一个空白的逻辑应用实例。但是,如果您想添加触发器和操作,我根本不建议使用 TF,因为1.20.0.

  1. TF 周围缺少文件parameters。如您所知,有两种parameters财产——财产权下properties和财产权下definitions该文件说明parameters但没有明确说明是哪一个。我猜这指的是definitions属性下的那个,但它实际上不起作用——Invalid Template在没有足够解释的情况下抛出错误。

    更新:我只是通过使用terraform import. parameters实际上是指向属性下的那个properties。但是,它仍然不起作用,因为 Logic App 的参数值可以是任何东西——对象、字符串、整数等,而 TF 的参数只需要字符串。此外,没有办法parametersdefinitions属性下创建。

  2. TF 只支持两种触发器——HTTP 触发器和 Timer 触发器。所有其他触发器都应该使用该azurerm_logic_app_trigger_custom资源,但它需要正文部分手动编写 JSON 对象或从文件中导入,不能通过变量或局部变量进行参数化。

  3. TF 只支持一种动作——HTTP 动作。所有其他操作都应该使用该azurerm_logic_app_action_custom资源,但是,就像上面的同一问题一样,它没有那么有用。

总之,TF 缺乏支持parameters,triggersactions。因此,除非您只是创建一个空白逻辑应用实例,否则 TF 不会成为逻辑应用的选项。如果您仍想使用 TF 创建空白逻辑应用实例,那么我会推荐使用 Azure PowerShell 或 Azure CLI 的这种方法。


推荐阅读