我在我的资源组中创建了一个
azurerm_logic_app_standard
逻辑应用程序。
现在,我想在此逻辑应用程序中创建工作流来自动执行某些任务,但我不确定如何在标准逻辑应用程序中创建工作流。需要帮助请。
可以使用 terraform 在标准逻辑应用程序中创建工作流。但不存在用于创建逻辑应用工作流资源的直接资源。必须用
azurerm_template_deployment
来完成。
首先,使用arm
Json
模板定义逻辑应用程序工作流程,并在terraform模板部署资源中提供该arm文件路径,如下所示。
data "template_file" "workflow" {
template = file(<arm_file_path>)
}
resource "azurerm_template_deployment" "workflow" {
depends_on = [azurerm_logic_app_standard.hello-world]
resource_group_name = var.shared_env.rg.name
parameters = merge({
"workflowName" = var.workflow_name,
"location" = "eastus"
}, var.parameters)
template_body = data.template_file.workflow.template
}
请参阅我的SO,了解有关该问题的详细步骤。
在执行上述操作之前,使用以下 terraform 代码部署标准逻辑应用程序。
provider "azurerm"{
features{}
}
data "azurerm_resource_group" "example" {
name = "caroline"
}
resource "azurerm_storage_account" "logicapp_std_storage" {
name = "strplatlasta"
resource_group_name = data.azurerm_resource_group.example.name
location = data.azurerm_resource_group.example.location
account_tier = "Standard"
account_replication_type = "LRS"
}
resource "azurerm_app_service_plan" "logicappplan" {
name = "asp-platform-logicapps"
location = data.azurerm_resource_group.example.location
resource_group_name = data.azurerm_resource_group.example.name
kind = "elastic"
is_xenon = "false"
per_site_scaling = "false"
reserved = "false"
tags = {}
zone_redundant = "false"
sku {
tier = "WorkflowStandard"
size = "WS1"
}
}
resource "azurerm_log_analytics_workspace" "logicapplogs" {
name = "log-platform-logicapps"
location = data.azurerm_resource_group.example.location
resource_group_name = data.azurerm_resource_group.example.name
sku = "PerGB2018"
retention_in_days = 30
}
resource "azurerm_application_insights" "platform_logicapp_appinsights" {
name = "ai-platform-logicapps"
location = data.azurerm_resource_group.example.location
resource_group_name = data.azurerm_resource_group.example.name
application_type = "web"
workspace_id = azurerm_log_analytics_workspace.logicapplogs.id
}
resource "azurerm_logic_app_standard" "helloworld" {
name = "la-hello-world"
location = data.azurerm_resource_group.example.location
resource_group_name = data.azurerm_resource_group.example.name
app_service_plan_id = azurerm_app_service_plan.logicappplan.id
storage_account_name = azurerm_storage_account.logicapp_std_storage.name
storage_account_access_key = azurerm_storage_account.logicapp_std_storage.primary_access_key
storage_account_share_name = "la-hello-world"
https_only = true
version = "~3"
site_config {
always_on = false
dotnet_framework_version = "v4.0"
ftps_state = "Disabled"
pre_warmed_instance_count = "0"
app_scale_limit = "1"
}
identity {
type = "SystemAssigned"
}
}
参考资料: