6

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

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

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

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

4

3 回答 3

7

您可以通过 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 的这种方法。

于 2019-01-11T12:18:11.247 回答
1

为清楚起见,您不使用 Terraform 创建 LogicApp。LogicApp 是在 Portal 或 Visual Studio 中设计的。

Terraform 是一个部署/管理工具。您几乎可以肯定地使用 Terraform 部署您的 LogicApp 和其他资源,但它们已经创建好了。

于 2018-09-19T12:08:15.877 回答
0

仅仅是通过传入 -var environment=qa 来创建逻辑应用程序的 qa 实例,terraform 的目的不是在各种环境中建立资源吗?产品?吗?马克佩彭?我希望使用 terraform import 来创建 terraform 文件,然后创建它的多个版本。我可以做到,但不能使用任何参数,这会破坏我的“动作”之一。

我正在使用 terraform 导入和逻辑应用程序代码视图的组合。我的大部分动作几乎都是为每个动作复制 json 块的组合,并根据从 terraform 导入生成的动作的“主体”的第一个条目进行修改。

然后根据 runAfter 手动设置依赖项,它告诉我操作依赖于什么。

但是,它在参数上失败了,抱怨我的定义中只有这些声明的参数是''。

于 2021-05-11T22:38:50.393 回答