Bicep 템플릿의 JSON 매개변수
2149 단어 bicepdevopsarmtemplateazure
Azure 리소스의 배포를 관리하기 위해 IAC(Infrastructure As Code)(도메인 특정 언어)를 수행하기 위해 Microsoft Block에 대한 Bicep의 새로운 소식을 들어보셨을 것입니다. This is great learning module from Microsoft which covers basics to advanced
내가 좋아하는 한 가지는 Bicep 템플릿에 many ways to pass the parameters이 있다는 것입니다. [그의 블로그를 확인하세요. 그는 Azure DevOps에 대한 놀라운 콘텐츠를 가지고 있습니다] 간단히 말해서 우리가 Arm 템플릿에 전달하는 방식과 동일하게 param 파일을 통해 매개 변수를 전달할 수 있습니다. 또는 az deployment group 명령을 통해 인라인될 수 있습니다. 조합이 된다.
시나리오: 서로 다른 환경에서 서로 다른 스토리지 계정 SKU(DEV용 표준 LRS 및 프로덕션용 표준 RAGZRS)를 갖기를 원한다고 가정해 보겠습니다. bicep 개체 매개변수는 유사한 작업을 수행할 수 있지만 일반 JSON만큼 유연하지는 않습니다. 명령 인라인을 통해 Object Param을 전달할 수 없습니다(적어도 방법을 찾지 못했습니다). JSON 문자열은 축소할 수 있으며 Azure DevOps 변수를 통해 관리할 수 있습니다.
json을 사용하여 이를 달성할 수 있습니다Bicep Functions.
아래 예제는 일반 JSON 객체(팔 스키마 기반이 아님)를 Bicep 템플릿에 인라인 매개변수로 전달하는 것입니다.
param storageJsonString string
param location string = resourceGroup().location
#Using Json Function to parse the Json string to json object
var storageConfig = json(storageJsonString)
resource storage_account 'Microsoft.Storage/storageAccounts@2021-09-01'= {
kind: storageConfig.kind
name: storageConfig.name
location: location
sku: {
name: storageConfig.sku
}
properties: {
allowBlobPublicAccess: true
accessTier: 'Hot'
}
}
인라인 JSON 문자열 매개변수를 이 템플릿에 전달하여 PowerShell에서 이를 호출합니다.
$stg = '{\"name\":\"pa1pocstg\",\"sku\":\"Standard_LRS\",\"kind\":\"StorageV2\"}'
az deployment group create --resource-group $rg `
--template-file .\Bicep101\bicep-json.bicep `
--parameters storageJsonString=$stg
당신이 무슨 생각을하는지 제게 알려주세요.
Reference
이 문제에 관하여(Bicep 템플릿의 JSON 매개변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chintupawan/json-parameters-in-bicep-template-1neb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)