如何在标准逻辑应用程序中创建工作流程

问题描述 投票:0回答:1

我在我的资源组中创建了一个

azurerm_logic_app_standard
逻辑应用程序。 现在,我想在此逻辑应用程序中创建工作流来自动执行某些任务,但我不确定如何在标准逻辑应用程序中创建工作流。需要帮助请。

azure terraform azure-logic-apps
1个回答
0
投票

可以使用 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"
    }
}

enter image description here

参考资料:

  1. 博客,作者:@lekman
  2. 博客,作者:@AZApril
© www.soinside.com 2019 - 2024. All rights reserved.