App Configuration에서 content-type을 사용하여 JSON 키-값 저장
데이터는 기본적으로 값이 문자열 형식으로 처리되는 키-값으로 App Configuration에 저장됩니다. 그러나 각 키-값과 연결된 콘텐츠 형식 속성을 사용하여 사용자 지정 형식을 지정할 수 있습니다. 이 프로세스는 데이터의 원래 형식을 유지하거나 콘텐츠 형식에 따라 애플리케이션이 다르게 동작하도록 합니다.
개요
App Configuration에서 JSON 미디어 형식을 키-값의 콘텐츠 형식으로 사용하여 다음과 같은 이점을 얻을 수 있습니다.
- 간단한 데이터 관리: Azure Portal에서 배열과 같은 키-값을 관리하기가 훨씬 더 쉬워집니다.
- 향상된 데이터 내보내기: 데이터를 내보내는 동안 기본 형식, 배열 및 JSON 개체가 유지됩니다.
- App Configuration 공급자에서 네이티브 지원: JSON 콘텐츠 형식 키-값은 애플리케이션에서 App Configuration 공급자 라이브러리가 사용할 때 정상적으로 작동합니다.
유효한 JSON 콘텐츠 형식
여기에 정의된 미디어 형식을 각 키-값과 연결된 콘텐츠 형식에 할당할 수 있습니다.
미디어 형식은 형식과 하위 형식으로 구성됩니다. 형식이 application
이고 하위 형식(또는 접미사)이 json
이면 미디어 형식이 유효한 JSON 콘텐츠 형식으로 간주됩니다.
유효한 JSON 콘텐츠 형식의 몇 가지 예는 다음과 같습니다.
application/json
application/activity+json
application/vnd.foobar+json;charset=utf-8
유효한 JSON 값
키-값에 JSON 콘텐츠 형식이 있는 경우 해당 값이 유효한 JSON 형식이어야만 클라이언트에서 올바르게 처리 가능합니다. 그렇지 않으면 클라이언트가 실패하거나 대체하여 문자열 형식으로 처리할 수 있습니다. 유효한 JSON 값의 몇 가지 예는 다음과 같습니다.
"John Doe"
723
false
null
"2020-01-01T12:34:56.789Z"
[1, 2, 3, 4]
{"ObjectSetting":{"Targeting":{"Default":true,"Level":"Information"}}}
참고 항목
이 문서의 나머지 부분에서는 유효한 JSON 콘텐츠 형식과 유효한 JSON 값을 포함하는 App Configuration의 키-값을 JSON 키-값이라고 합니다.
이 자습서에서는 다음 작업을 수행하는 방법을 알아봅니다.
- App Configuration에서 JSON 키 값을 만듭니다.
- JSON 파일에서 JSON 키-값을 가져옵니다.
- JSON 키-값을 JSON 파일로 내보냅니다.
- 애플리케이션에서 JSON 키 값을 사용합니다.
Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
사전 요구 사항
Azure Cloud Shell에서 Bash 환경을 사용합니다. 자세한 내용은 Azure Cloud Shell의 Bash에 대한 빠른 시작을 참조하세요.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.
- App Configuration 저장소입니다. 저장소를 만듭니다.
- 이 자습서에는 Azure CLI 버전 2.10.0 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.
App Configuration에서 JSON 키 값 만들기
JSON 키-값은 Azure Portal, Azure CLI를 사용하나 JSON 파일에서 가져와서 만들 수 있습니다. 이 섹션에서는 이 세 가지 방법을 모두 사용하여 동일한 JSON 키-값을 만드는 방법을 설명합니다.
Azure Portal을 사용하여 JSON 키-값 만들기
App Configuration 저장소에 다음 키 값을 추가합니다. 레이블을 기본값으로 둡니다. Azure Portal 또는 CLI를 사용하여 저장소에 키-값을 추가하는 방법에 대한 자세한 내용은 키-값 만들기로 이동하세요.
키 | 값 | 콘텐츠 유형 |
---|---|---|
설정:BackgroundColor | "녹색" | application/json |
설정:FontSize | 24 | application/json |
설정:UseDefaultRouting | false | application/json |
설정:BlockedUsers | null | application/json |
설정:ReleaseDate | "2020-08-04T12:34:56.789Z" | application/json |
설정:RolloutPercentage | [25,50,75,100] | application/json |
설정:로깅 | {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} | application/json |
- 적용을 선택합니다.
Azure CLI를 사용하여 JSON 키 값 만들기
다음 명령은 App Configuration 저장소에 JSON 키 값을 만듭니다. <appconfig_name>
을 App Configuration저장소의 이름으로 바꿉니다.
appConfigName=<appconfig_name>
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BackgroundColor --value \"Green\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:FontSize --value 24
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:UseDefaultRouting --value false
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BlockedUsers --value null
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:ReleaseDate --value \"2020-08-04T12:34:56.789Z\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:RolloutPercentage --value [25,50,75,100]
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:Logging --value {\"Test\":{\"Level\":\"Debug\"},\"Prod\":{\"Level\":\"Warning\"}}
Important
Azure CLI 또는 Azure Cloud Shell을 사용하여 JSON 키-값을 만드는 경우 제공되는 값은 이스케이프된 JSON 문자열이어야 합니다.
파일에서 JSON 키-값 가져오기
다음 콘텐츠를 사용하여 Import.json
이라는 JSON 파일을 만들고 App Configuration에 키-값으로 가져옵니다.
{
"Settings": {
"BackgroundColor": "Green",
"BlockedUsers": null,
"FontSize": 24,
"Logging": {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}},
"ReleaseDate": "2020-08-04T12:34:56.789Z",
"RolloutPercentage": [25,50,75,100],
"UseDefaultRouting": false
}
}
az appconfig kv import -s file --format json --path "~/Import.json" --content-type "application/json" --separator : --depth 2
참고 항목
이 --depth
인수는 파일에서 키-값으로 계층적 데이터를 평면화하기 위해 사용됩니다. 이 자습서에서는 App Configuration에서 JSON 개체를 값으로 저장할 수도 있음을 보여 주는 깊이를 지정합니다. depth를 지정하지 않으면 JSON 개체가 기본적으로 가장 깊은 수준으로 평면화됩니다.
만든 JSON 키 값은 App Configuration에서 다음과 같이 표시됩니다.
이 검사 Azure Portal에서 App Configuration 리소스를 열고 구성 탐색기로 이동합니다.
JSON 키-값을 파일로 내보내기
JSON 키-값을 사용할 때의 주요 이점 중 하나는 내보낼 때 값의 원래 데이터 형식을 유지할 수 있는 것입니다. App Configuration에서 JSON 콘텐츠 형식이 아닌 키-값은 문자열로 처리됩니다.
다음 키-값은 JSON 콘텐츠 형식이 아닌 것으로 간주합니다.
키 | 값 | 콘텐츠 유형 |
---|---|---|
Settings:FontSize | 24 | |
설정:UseDefaultRouting | false |
이러한 키-값을 JSON 파일로 내보내면 값이 문자열로 내보내집니다.
{
"Settings": {
"FontSize": "24",
"UseDefaultRouting": "false"
}
}
그러나 JSON 키 값을 파일로 내보내면 모든 값은 원래 데이터 형식을 유지합니다. 이 프로세스를 확인하려면 App Configuration에서 JSON 파일로 키-값을 내보냅니다. 내보낸 파일에 이전에 가져온 파일과 동일한 내용이 Import.json
표시됩니다.
az appconfig kv export -d file --format json --path "~/Export.json" --separator :
참고 항목
App Configuration 저장소에 JSON 콘텐츠 형식이 아닌 키-값이 있는 경우 이 키-값도 문자열 형식으로 동일한 파일로 내보내게 됩니다.
애플리케이션에서 JSON 키-값 사용
애플리케이션에서 JSON 키-값을 사용하는 가장 쉬운 방법은 App Configuration 공급자 라이브러리를 사용하는 것입니다. 이 공급자 라이브러리를 사용하면 애플리케이션에서 JSON 키-값의 특수 처리를 구현할 필요가 없습니다. 애플리케이션의 기본 구성과 일치하도록 구문 분석되고 변환됩니다.
예를 들어 App Configuration에 다음 키-값이 있는 경우:
키 | 값 | 콘텐츠 유형 |
---|---|---|
설정 | {"FontSize":24,"UseDefaultRouting":false} | application/json |
.NET 애플리케이션 구성에는 다음 키 값이 있습니다.
키 | 값 |
---|---|
Settings:FontSize | 24 |
설정:UseDefaultRouting | false |
새 키에 직접 액세스하거나 구성 값을 .NET 개체의 인스턴스에 바인딩하도록 선택할 수 있습니다.
Important
JSON 키-값에 대한 기본 지원은 .NET configuration provider 버전 4.0.0 이상에서 사용할 수 있습니다. 자세한 내용은 다음 단계 섹션으로 이동하세요.
SDK 또는 REST API를 사용하여 콘텐츠 형식에 따라 App Configuration에서 키-값을 읽는 경우, 애플리케이션은 JSON 키-값의 값을 구문 분석해야 합니다.
리소스 정리
이 문서에서 만든 리소스를 계속 사용하지 않으려면 여기서 만든 리소스 그룹을 삭제하여 요금이 부과되지 않도록 합니다.
Important
리소스 그룹을 삭제하는 것은 되돌릴 수 없습니다. 리소스 그룹 및 리소스의 모든 리소스는 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 합니다. 유지하려는 다른 리소스가 포함된 리소스 그룹 내에서 이 문서의 리소스를 만든 경우 리소스 그룹을 삭제하는 대신 각 리소스를 해당 창에서 개별적으로 삭제합니다.
- Azure Portal에 로그인하고 리소스 그룹을 선택합니다.
- 이름 기준 필터 상자에 리소스 그룹의 이름을 입력합니다.
- 결과 목록에서 리소스 그룹 이름을 선택하여 개요를 확인합니다.
- 리소스 그룹 삭제를 선택합니다.
- 리소스 그룹의 삭제를 확인하라는 메시지가 표시됩니다. 확인할 리소스 그룹의 이름을 입력하고 삭제를 선택합니다.
잠시 후 리소스 그룹 및 모든 리소스가 삭제됩니다.
다음 단계
이제 App Configuration 저장소에서 JSON 키-값을 사용하는 방법을 알고 있으므로 다음 키-값을 사용하는 애플리케이션을 만듭니다.