我尝试了多种方法,工作流程仍然部署启用。 我最近的尝试是使用我的二头肌中的资源:
resource workflow 'Microsoft.Web/sites/workflows@2015-08-01' = {
name: workflowName
dependsOn: [ logicContainer ]
location: location
kind: 'Stateful'
properties: {
flowstate: 2
}
}
但是,工作流永远不会出现在逻辑应用功能中。 我什至无法在“已停止”状态下部署容器,因为对于 Microsoft.Web/sites@2022-03-01,状态是只读的。
最佳答案
在我的 yaml 中,我以管道分隔的字符串发送工作流程,例如“wf-一|wf-二|wf-三|wf-四”
然后,在我的二头肌中,我填充一组工作流状态应用程序设置:
var wfAppSettingStatuses = [ for wf in split(workflows,'|'): {
name: 'Workflows.${wf}.FlowState'
value: 'Disabled'
}]
要添加到逻辑应用容器配置设置,请使用 union 函数:
resource logicContainer 'Microsoft.Web/sites@2022-03-01' = {
name: appName
location: location
kind: 'functionapp,workflowapp'
identity: {
type: 'SystemAssigned'
}
properties: {
httpsOnly: true
siteConfig: {
appSettings: union(wfAppSettingStatuses, [
{
name: 'APPINSIGHTS_INSTRUMENTATIONKEY'
value: applicationInsights.properties.InstrumentationKey
}
...
])
use32BitWorkerProcess: true
}
serverFarmId: planId
clientAffinityEnabled: false
vnetRouteAllEnabled: true
storageAccountRequired: false
keyVaultReferenceIdentity: 'SystemAssigned'
}
}
列表中的每个工作流程现已禁用,因此,如果您需要在部署时启用一个工作流程,请将其从管道分隔字符串中删除。
关于azure - 使用 Bicep/YAML 禁用部署逻辑应用程序(标准)工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75231222/