Работаю с бицепсом недолго и имею следующую проблему.
Я делаю развертывание bicep для уже существующей фабрики данных (связанной с Git). Я настроил его следующим образом:
resource name_resource 'Microsoft.DataFactory/factories@2018-06-01' {
name: 'adf-...'
location: location
properties: {
publicNetworkAccess: 'Enabled'
repoConfiguration: isDEV ? {
accountName: '...'
repositoryName: '...'
disablePublish: false
collaborationBranch: '...'
rootFolder: '...'
type: 'FactoryVSTSConfiguration'
lastCommitId:
projectName: '...'
tenantId: subscription().tenantId
} : null
}
tags: tags
identity: {
type: 'SystemAssigned'
}
}
Все выглядит хорошо, кроме lastCommitId.
Если я его не настрою, он будет удален согласно Bicep What-if (логично).
Я не могу жестко закодировать это, потому что commitId меняется с каждой публикацией adf.
Есть ли способ динамически прочитать lastCommitId и передать его в развертывание бицепса?
Что-то вроде с выводом? Я пробовал сам, но, к сожалению, я не могу продвинуться дальше.
lastCommitId: id
output id string = name_resource.properties.repoConfiguration.lastCommitId
ERROR
The expression is involved in a cycle ("id" -> "name_resource").
Я благодарен за любой совет.
К сожалению, я не нашел способа решить ее непосредственно в бицепсе. Но у меня есть обходной путь, вы можете прочитать его динамически во время развертывания, в конвейере развертывания. Вот ссылка на него: