Azure DevOps의 Pipeline을 사용하여 Azure App Configuration 업데이트
환경
Repos에 Git 리포지토리를 만들고 커밋 된 JSON 파일을 기반으로 App Configuration을 업데이트합니다.
이 기사에서는 YAML 방식의 Pipeline 사용법이나 Azure DevOps의 Repos 사용법에 대해서는 언급하지 않습니다.
도입하는 이점
Git 저장소에 설정 파일을 넣으면,
등의 장점이 있습니다.
JSON 파일의 예
{
"Integer": 1,
"String": "string",
"Object": {
"Property1": 1,
"Property2": "property",
"Array": [
1,
2,
3
],
"ArrayObject": [
{
"Aaa": 1,
"Bbb": 2
},
{
"Aaa": 3,
"Bbb": 4
}
]
}
}
Azure CLI 명령을 사용하여 App Configuration 업데이트
App Configuration 업데이트는 Pipeline의 준비된 작업을 수행하는 것이 아니라 Azure CLI 명령의 az appconfig kv를 사용합니다.
지정하는 방법은 여러 가지 있습니다만, 아래가 커맨드예입니다.
az appconfig kv import --source file --name [App Configurationの名前] -s file --format json --path "[JSONファイルのパス" --content-type "application/json" --separator : --yes
간단히 설명하면 JSON을 ':'로 구분하면서 가져올 수 있습니다. 실제로 가져온 후의 상태에 대해서는
파이프라인 템플릿의 예
다음과 같이 Azure CLI 명령을 호출하면 Pipeline에서 흘릴 수 있습니다.
parameters:
- name: subscriptionName
- name: appConfigName
- name: configFilePath
steps:
- task: AzureCLI@2
displayName: 'Import: ${{ parameters.configFilePath }}'
inputs:
azureSubscription: '${{ parameters.subscriptionName }}'
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
az appconfig kv import --source file --name ${{ parameters.appConfigName }} -s file --format json --path "${{ parameters.configFilePath }}" --content-type "application/json" --separator : --yes
가져온 결과
다음 이미지와 같이 ":"(콜론)으로 구분된 키로 각 설정값이 저장됩니다. 배열은 퍼스되지 않고, 통째로 삽입되는 점은 주의입니다.
로딩
여기에서는 App Configuration에서 설정 로드를 생략합니다.
다만, 「:」로 분할하는 메리트는 read측에도 있어, 예를 들어 "Object"의 부분 밖에 읽고 싶지 않는 경우, 다음과 같은 지정을 하는 것으로 불필요한 읽어들이기를 피할 수가 있습니다.
builder.ConfigurationBuilder
.AddAzureAppConfiguration(options =>
{
options
.Connect("App Configurationの接続文字列")
.Select("Object:*");
})
.Build();
※엄밀하게는 App Configuration의 접속 문자열이 아닌 AAD 인증으로 전환해야 할까 생각합니다
Reference
이 문제에 관하여(Azure DevOps의 Pipeline을 사용하여 Azure App Configuration 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/m-otoguro/items/c55e3d3d1c73d9569785
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"Integer": 1,
"String": "string",
"Object": {
"Property1": 1,
"Property2": "property",
"Array": [
1,
2,
3
],
"ArrayObject": [
{
"Aaa": 1,
"Bbb": 2
},
{
"Aaa": 3,
"Bbb": 4
}
]
}
}
App Configuration 업데이트는 Pipeline의 준비된 작업을 수행하는 것이 아니라 Azure CLI 명령의 az appconfig kv를 사용합니다.
지정하는 방법은 여러 가지 있습니다만, 아래가 커맨드예입니다.
az appconfig kv import --source file --name [App Configurationの名前] -s file --format json --path "[JSONファイルのパス" --content-type "application/json" --separator : --yes
간단히 설명하면 JSON을 ':'로 구분하면서 가져올 수 있습니다. 실제로 가져온 후의 상태에 대해서는
파이프라인 템플릿의 예
다음과 같이 Azure CLI 명령을 호출하면 Pipeline에서 흘릴 수 있습니다.
parameters:
- name: subscriptionName
- name: appConfigName
- name: configFilePath
steps:
- task: AzureCLI@2
displayName: 'Import: ${{ parameters.configFilePath }}'
inputs:
azureSubscription: '${{ parameters.subscriptionName }}'
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
az appconfig kv import --source file --name ${{ parameters.appConfigName }} -s file --format json --path "${{ parameters.configFilePath }}" --content-type "application/json" --separator : --yes
가져온 결과
다음 이미지와 같이 ":"(콜론)으로 구분된 키로 각 설정값이 저장됩니다. 배열은 퍼스되지 않고, 통째로 삽입되는 점은 주의입니다.
로딩
여기에서는 App Configuration에서 설정 로드를 생략합니다.
다만, 「:」로 분할하는 메리트는 read측에도 있어, 예를 들어 "Object"의 부분 밖에 읽고 싶지 않는 경우, 다음과 같은 지정을 하는 것으로 불필요한 읽어들이기를 피할 수가 있습니다.
builder.ConfigurationBuilder
.AddAzureAppConfiguration(options =>
{
options
.Connect("App Configurationの接続文字列")
.Select("Object:*");
})
.Build();
※엄밀하게는 App Configuration의 접속 문자열이 아닌 AAD 인증으로 전환해야 할까 생각합니다
Reference
이 문제에 관하여(Azure DevOps의 Pipeline을 사용하여 Azure App Configuration 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/m-otoguro/items/c55e3d3d1c73d9569785
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
parameters:
- name: subscriptionName
- name: appConfigName
- name: configFilePath
steps:
- task: AzureCLI@2
displayName: 'Import: ${{ parameters.configFilePath }}'
inputs:
azureSubscription: '${{ parameters.subscriptionName }}'
scriptType: ps
scriptLocation: inlineScript
inlineScript: |
az appconfig kv import --source file --name ${{ parameters.appConfigName }} -s file --format json --path "${{ parameters.configFilePath }}" --content-type "application/json" --separator : --yes
다음 이미지와 같이 ":"(콜론)으로 구분된 키로 각 설정값이 저장됩니다. 배열은 퍼스되지 않고, 통째로 삽입되는 점은 주의입니다.
로딩
여기에서는 App Configuration에서 설정 로드를 생략합니다.
다만, 「:」로 분할하는 메리트는 read측에도 있어, 예를 들어 "Object"의 부분 밖에 읽고 싶지 않는 경우, 다음과 같은 지정을 하는 것으로 불필요한 읽어들이기를 피할 수가 있습니다.
builder.ConfigurationBuilder
.AddAzureAppConfiguration(options =>
{
options
.Connect("App Configurationの接続文字列")
.Select("Object:*");
})
.Build();
※엄밀하게는 App Configuration의 접속 문자열이 아닌 AAD 인증으로 전환해야 할까 생각합니다
Reference
이 문제에 관하여(Azure DevOps의 Pipeline을 사용하여 Azure App Configuration 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/m-otoguro/items/c55e3d3d1c73d9569785
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
builder.ConfigurationBuilder
.AddAzureAppConfiguration(options =>
{
options
.Connect("App Configurationの接続文字列")
.Select("Object:*");
})
.Build();
Reference
이 문제에 관하여(Azure DevOps의 Pipeline을 사용하여 Azure App Configuration 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/m-otoguro/items/c55e3d3d1c73d9569785텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)