다음을 통해 공유


키 및 값

Azure App Configuration은 구성 데이터를 키-값으로 저장합니다. 키 값은 개발자가 사용하는 애플리케이션 설정을 간단하고 유연하게 표현한 것입니다.

열쇠

키는 키 값의 식별자 역할을 하며 해당 값을 저장하고 검색하는 데 사용됩니다. / 또는 :과 같은 문자 구분 기호를 사용하여 키를 계층 구조 네임스페이스에 구성하는 일반적인 방식입니다. 애플리케이션에 가장 적합한 규칙을 사용합니다. App Configuration은 키를 전체적으로 처리합니다. 키를 구문 분석하여 이름 구조를 파악하거나 어떠한 규칙도 적용하지 않습니다.

다음은 구성 요소 서비스를 기반으로 계층 구조로 구조화된 키 이름의 예입니다.

    AppName:Service1:ApiEndpoint
    AppName:Service2:ApiEndpoint

애플리케이션 프레임워크 내에서 구성 데이터를 사용하면 키-값에 대한 특정 명명 체계를 지정할 수 있습니다. 예를 들어, Java의 Spring Cloud 프레임워크는 Spring 애플리케이션에 설정을 제공하는 Environment 리소스를 정의합니다. 이 리소스는 애플리케이션 이름프로필을 포함하는 변수에 의해 매개 변수화됩니다. Spring Cloud 관련 구성 데이터에 대한 키는 일반적으로 구분 기호로 구분된 이러한 두 가지 요소로 시작합니다.

App Configuration에 저장된 키는 대/소문자를 구분하는 유니코드 기반의 문자열입니다. App Configuration 저장소에서 app1App1 키는 서로 다릅니다. 일부 프레임워크에서 구성 키의 대/소문자를 구분하지 않고 처리하므로 애플리케이션 내에서 구성 설정을 사용하는 경우 이 점에 유념하세요. 키를 구분하는 데 대/소문자를 사용하지 않는 것이 좋습니다.

를 제외한 모든 유니코드 문자를 키 이름에 사용할 수 있습니다 %. 키 이름은 . 또는 ..일 수 없습니다. 키-값에는 10KB의 결합된 크기 제한이 있습니다. 이 제한에는 키의 모든 문자, 해당 값 및 연결된 모든 선택적 특성이 포함됩니다. 이 제한 내에서 키에 대해 많은 계층적 수준을 가질 수 있습니다.

키 네임스페이스 디자인

키 이름 지정에 대한 일반적인 두 가지 방법은 구성 데이터에 사용됩니다. 플랫 또는 계층 구조입니다. 이러한 방법은 애플리케이션 사용 관점에서는 유사하지만 계층적 이름 지정은 여러 이점이 있습니다.

  • 읽기 쉽습니다. 계층적 키 이름의 구분 기호는 문장의 공백으로 작동합니다. 또한 단어 사이에 자연스러운 휴식을 제공합니다.
  • 관리가 더 쉽습니다. 키 이름 계층 구조는 구성 데이터의 논리적 그룹을 나타냅니다.
  • 사용하기 쉽습니다. 계층 구조의 키와 패턴 일치하고 구성 데이터의 일부만 검색하는 쿼리를 작성하는 것이 더 간단합니다. 또한 많은 최신 프로그래밍 프레임워크는 애플리케이션이 특정 구성 집합을 사용할 수 있도록 계층적 구성 데이터를 기본적으로 지원합니다.

App Configuration에서 여러 가지 방법으로 계층적으로 키를 구성할 수 있습니다. 이러한 키를 URI라고 생각합니다. 각 계층적 키는 구분 기호로 함께 조인되는 하나 이상의 구성 요소로 구성된 리소스 경로 입니다. 애플리케이션, 프로그래밍 언어 또는 프레임워크에 필요한 사항에 따라 구분 기호로 사용할 문자를 선택합니다. App Configuration에서 서로 다른 키에 대해 여러 구분 기호를 사용합니다.

레이블 키

App Configuration의 키 값에는 필요에 따라 레이블 특성이 있을 수 있습니다. 레이블은 동일한 키를 사용하여 키 값을 구분하는 데 사용됩니다. app1 AB 레이블이 포함된 키로서, App Configuration 저장소에서 두 개의 개별 키를 형성합니다. 기본적으로 키-값에는 레이블이 없습니다. 레이블 없이 키-값을 명시적으로 참조하려면 \0(%00으로 인코딩된 URL)을 사용합니다.

레이블은 키의 변형을 만드는 편리한 방법을 제공합니다. 레이블의 일반적인 사용은 동일한 키에 대해 여러 환경을 지정하는 것입니다.

    Key = AppName:DbEndpoint & Label = Test
    Key = AppName:DbEndpoint & Label = Staging
    Key = AppName:DbEndpoint & Label = Production

키-값 버전 관리

여러 버전의 키-값을 만드는 방법으로 레이블을 사용합니다. 예를 들어 애플리케이션 버전 번호 또는 Git 커밋 ID를 레이블에 입력하여 특정 소프트웨어 빌드와 연결된 키 값을 식별할 수 있습니다.

비고

변경 버전을 찾는 경우 App Configuration은 지난 특정 기간에 발생한 키-값의 모든 변경 내용을 자동으로 유지합니다. 자세한 내용은 특정 시점 스냅샷을 참조하세요.

쿼리의 키-값

각 키 값은 \0일 수 있는 레이블 및 해당 키로만 식별됩니다. 패턴을 지정하여 App Configuration 저장소에 키-값을 쿼리합니다. App Configuration 저장소는 해당 값과 특성을 포함하여 패턴과 일치하는 모든 키-값을 반환합니다. App Configuration에 대한 REST API 호출에서 다음 키 패턴을 사용합니다.

열쇠 설명
key 생략되었거나 key=* 모든 키와 일치합니다.
key=abc 키 이름과 abc 정확히 일치합니다.
key=abc* abc로 시작하는 키 이름과 일치
key=abc,xyz 키 이름 abc 또는 xyz를 일치시킵니다. 5개의 CSV로 제한됩니다.

다음 레이블 패턴을 포함할 수도 있습니다.

라벨 설명
label 생략되었거나 label=* \0을 포함하는 모든 레이블과 일치합니다.
label=%00 \0 레이블과 일치합니다.
label=1.0.0 레이블 1.0.0과 정확하게 일치
label=1.0.* 1.0.으로 시작하는 레이블과 일치합니다.
label=%00,1.0.0 레이블 \0 또는 1.0.0와 일치합니다, 그리고 CSV는 5개로 제한됩니다.

비고

*, ,\ 쿼리에서 예약된 문자입니다. 키 이름이나 레이블에 예약된 문자를 사용할 경우, 쿼리에서 \{Reserved Character}을 사용하여 이를 이스케이프해야 합니다.

가치들

키에 할당 된 값도 유니코드 문자열입니다. 값에 모든 유니코드 문자를 사용할 수 있습니다.

콘텐츠 형식 사용

App Configuration의 각 키-값에는 콘텐츠 형식 특성이 있습니다. 필요에 따라 이 특성을 사용하여 값 형식에 대한 정보를 키-값에 저장하여 애플리케이션에서 제대로 처리할 수 있도록 할 수 있습니다. 콘텐츠 형식에 모든 형식을 사용할 수 있습니다. App Configuration은 기능 플래그, Key Vault 참조 및 JSON 키 값과 같은 기본 제공 데이터 형식에 미디어 형식(MIME 형식이라고도 함)을 사용합니다.

다음 단계