다음을 통해 공유


Python용 Azure SDK를 사용하여 Python 앱 만들기

이 문서에서는 Python용 Azure SDK를 사용하여 Azure App Configuration의 데이터에 액세스하는 방법의 예제를 보여 줍니다.

App Configuration은 Python SDK를 기반으로 빌드되고 더 다양한 기능으로 사용하기 쉽도록 설계된 Python 공급자 라이브러리를 제공합니다. 구성 설정을 사전처럼 사용할 수 있으며 여러 레이블의 구성 컴퍼지션, 키 이름 트리밍 및 Key Vault 참조의 자동 확인과 같은 다른 기능을 제공합니다. 자세한 내용은 Python 빠른 시작으로 이동합니다.

필수 조건

키-값 만들기

App Configuration 저장소에 다음 키-값을 추가하고 레이블콘텐츠 형식을 기본값으로 둡니다. Azure Portal 또는 CLI를 사용하여 저장소에 키-값을 추가하는 방법에 대한 자세한 내용은 키-값 만들기로 이동합니다.

TestApp:Settings:Message Azure App Configuration의 데이터

Python 앱 설정

  1. app-configuration-example이라는 프로젝트에 대한 새 디렉터리를 만듭니다.

    mkdir app-configuration-example
    
  2. 새로 만든 app-configuration-example 디렉터리로 전환합니다.

    cd app-configuration-example
    
  3. pip install 명령을 사용하여 Azure App Configuration 클라이언트 라이브러리를 설치합니다.

    pip install azure-appconfiguration
    
  4. app-configuration-example.py라는 새 파일을 app-configuration-example 디렉터리에 만들고 다음 코드를 추가합니다.

    import os
    from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting
    
    try:
        print("Azure App Configuration - Python example")
        # Example code goes here
    except Exception as ex:
        print('Exception:')
        print(ex)
    

참고 항목

이 예제의 코드 조각은 Python용 App Configuration 클라이언트 라이브러리를 시작하는 데 도움이 됩니다. 애플리케이션의 경우 필요에 따라 예외를 처리하는 것도 고려해야 합니다. 예외 처리에 대한 자세한 내용은 당사의 Python SDK 설명서를 참조하세요.

App Configuration 연결 문자열 구성

  1. AZURE_APPCONFIG_CONNECTION_STRING이라는 환경 변수를 설정하고, App Configuration 저장소에 대한 연결 문자열로 설정합니다. 명령줄에서 다음 명령을 실행합니다.

    Windows 명령 프롬프트를 사용하여 로컬로 앱을 실행하려면 다음 명령을 실행하고 <app-configuration-store-connection-string>을 앱 구성 저장소의 연결 문자열로 바꿉니다.

    setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    
  2. 환경 변수의 값을 출력하여 아래의 명령으로 올바르게 설정되었는지 확인합니다.

    Windows 명령 프롬프트를 사용하여 명령 프롬프트를 다시 시작하여 변경 내용이 적용되도록 하고 다음 명령을 실행합니다.

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

샘플 코드

이 섹션의 샘플 코드 조각에서는 Python용 App Configuration 클라이언트 라이브러리를 사용하여 일반적인 작업을 수행하는 방법을 보여 줍니다. 이러한 코드 조각을 이전에 만든 app-configuration-example.py 파일의 try 블록에 추가합니다.

참고 항목

App Configuration 클라이언트 라이브러리는 키-값 개체를 ConfigurationSetting으로 참조합니다. 따라서 이 문서에서는 App Configuration 저장소의 키-값구성 설정이라고 합니다.

아래 방법 알아보기:

App Configuration 저장소에 연결

다음 코드 조각에서는 환경 변수에 저장된 연결 문자열을 사용하여 AzureAppConfigurationClient의 인스턴스를 만듭니다.

    connection_string = os.getenv('AZURE_APPCONFIG_CONNECTION_STRING')
    app_config_client = AzureAppConfigurationClient.from_connection_string(connection_string)

구성 설정 가져오기

다음 코드 조각에서는 key 이름을 기준으로 구성 설정을 검색합니다.

    retrieved_config_setting = app_config_client.get_configuration_setting(key='TestApp:Settings:Message')
    print("\nRetrieved configuration setting:")
    print("Key: " + retrieved_config_setting.key + ", Value: " + retrieved_config_setting.value)

구성 설정 추가

다음 코드 조각에서는 keyvalue 필드가 있는 ConfigurationSetting 개체를 만들고, add_configuration_setting 메서드를 호출합니다. 이미 저장소에 있는 구성 설정을 추가하려고 하면 이 메서드에서 예외를 throw합니다. 이 예외를 방지하려면 set_configuration_setting 메서드를 대신 사용할 수 있습니다.

    config_setting = ConfigurationSetting(
        key='TestApp:Settings:NewSetting',
        value='New setting value'
    )
    added_config_setting = app_config_client.add_configuration_setting(config_setting)
    print("\nAdded configuration setting:")
    print("Key: " + added_config_setting.key + ", Value: " + added_config_setting.value)

구성 설정 목록 가져오기

다음 코드 조각에서는 구성 설정 목록을 검색합니다. key_filterlabel_filter 인수를 제공하여 각각 keylabel을 기준으로 키-값을 필터링할 수 있습니다. 필터링에 대한 자세한 내용은 구성 설정을 쿼리하는 방법을 참조하세요.

    filtered_settings_list = app_config_client.list_configuration_settings(key_filter="TestApp*")
    print("\nRetrieved list of configuration settings:")
    for item in filtered_settings_list:
        print("Key: " + item.key + ", Value: " + item.value)

구성 설정 잠금

App Configuration에서 키-값의 잠금 상태는 ConfigurationSetting 개체의 read_only 특성으로 표시됩니다. read_onlyTrue이면 설정이 잠깁니다. set_read_only 메서드를 read_only=True 인수로 호출하여 구성 설정을 잠글 수 있습니다.

    locked_config_setting = app_config_client.set_read_only(added_config_setting, read_only=True)
    print("\nRead-only status for " + locked_config_setting.key + ": " + str(locked_config_setting.read_only))

구성 설정 잠금 해제

ConfigurationSettingread_only 특성이 False이면 설정이 잠금 해제됩니다. set_read_only 메서드를 read_only=False 인수로 호출하여 구성 설정의 잠금을 해제할 수 있습니다.

    unlocked_config_setting = app_config_client.set_read_only(locked_config_setting, read_only=False)
    print("\nRead-only status for " + unlocked_config_setting.key + ": " + str(unlocked_config_setting.read_only))

구성 설정 업데이트

set_configuration_setting 메서드를 사용하여 기존 설정을 업데이트하거나 새 설정을 만들 수 있습니다. 다음 코드 조각에서는 기존 구성 설정의 값을 변경합니다.

    added_config_setting.value = "Value has been updated!"
    updated_config_setting = app_config_client.set_configuration_setting(added_config_setting)
    print("\nUpdated configuration setting:")
    print("Key: " + updated_config_setting.key + ", Value: " + updated_config_setting.value)

구성 설정 삭제

다음 코드 조각에서는 key 이름을 기준으로 구성 설정을 삭제합니다.


    deleted_config_setting = app_config_client.delete_configuration_setting(key="TestApp:Settings:NewSetting")
    print("\nDeleted configuration setting:")
    print("Key: " + deleted_config_setting.key + ", Value: " + deleted_config_setting.value)

앱 실행

이 예제에서 Azure App Configuration 클라이언트 라이브러리를 사용하여 Azure Portal을 통해 만든 구성 설정을 검색하고, 새 설정을 추가하고, 기존 설정 목록을 검색하고, 설정을 잠금 및 잠금 해제하고, 설정을 업데이트하고, 마지막으로 설정을 삭제하는 Python 앱을 만들었습니다.

이 시점에서 app-configuration-example.py 파일에는 다음 코드가 있습니다.

import os
from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting

try:
    print("Azure App Configuration - Python example")
    # Example code goes here

    connection_string = os.getenv('AZURE_APPCONFIG_CONNECTION_STRING')
    app_config_client = AzureAppConfigurationClient.from_connection_string(connection_string)

    retrieved_config_setting = app_config_client.get_configuration_setting(key='TestApp:Settings:Message')
    print("\nRetrieved configuration setting:")
    print("Key: " + retrieved_config_setting.key + ", Value: " + retrieved_config_setting.value)

    config_setting = ConfigurationSetting(
        key='TestApp:Settings:NewSetting',
        value='New setting value'
    )
    added_config_setting = app_config_client.add_configuration_setting(config_setting)
    print("\nAdded configuration setting:")
    print("Key: " + added_config_setting.key + ", Value: " + added_config_setting.value)

    filtered_settings_list = app_config_client.list_configuration_settings(key_filter="TestApp*")
    print("\nRetrieved list of configuration settings:")
    for item in filtered_settings_list:
        print("Key: " + item.key + ", Value: " + item.value)

    locked_config_setting = app_config_client.set_read_only(added_config_setting, read_only=True)
    print("\nRead-only status for " + locked_config_setting.key + ": " + str(locked_config_setting.read_only))

    unlocked_config_setting = app_config_client.set_read_only(locked_config_setting, read_only=False)
    print("\nRead-only status for " + unlocked_config_setting.key + ": " + str(unlocked_config_setting.read_only))

    added_config_setting.value = "Value has been updated!"
    updated_config_setting = app_config_client.set_configuration_setting(added_config_setting)
    print("\nUpdated configuration setting:")
    print("Key: " + updated_config_setting.key + ", Value: " + updated_config_setting.value)

    deleted_config_setting = app_config_client.delete_configuration_setting(key="TestApp:Settings:NewSetting")
    print("\nDeleted configuration setting:")
    print("Key: " + deleted_config_setting.key + ", Value: " + deleted_config_setting.value)

except Exception as ex:
    print('Exception:')
    print(ex)

콘솔 창에서 app-configuration-example.py 파일이 포함된 디렉터리로 이동하고, 다음 Python 명령을 실행하여 앱을 실행합니다.

python app-configuration-example.py

다음과 같은 출력이 표시됩니다.

Azure App Configuration - Python example

Retrieved configuration setting:
Key: TestApp:Settings:Message, Value: Data from Azure App Configuration

Added configuration setting:
Key: TestApp:Settings:NewSetting, Value: New setting value

Retrieved list of configuration settings:
Key: TestApp:Settings:Message, Value: Data from Azure App Configuration
Key: TestApp:Settings:NewSetting, Value: New setting value

Read-only status for TestApp:Settings:NewSetting: True

Read-only status for TestApp:Settings:NewSetting: False

Updated configuration setting:
Key: TestApp:Settings:NewSetting, Value: Value has been updated!

Deleted configuration setting:
Key: TestApp:Settings:NewSetting, Value: Value has been updated!

리소스 정리

이 문서에서 만든 리소스를 계속 사용하지 않으려면 여기서 만든 리소스 그룹을 삭제하여 요금이 부과되지 않도록 합니다.

Important

리소스 그룹을 삭제하면 다시 되돌릴 수 없습니다. 리소스 그룹 및 포함된 모든 리소스가 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 합니다. 유지하려는 다른 리소스가 포함된 리소스 그룹 내에서 이 문서에 대한 리소스를 만든 경우 리소스 그룹을 삭제하는 대신 해당 창에서 각 리소스를 개별적으로 삭제합니다.

  1. Azure Portal에 로그인하고 리소스 그룹을 선택합니다.
  2. 이름으로 필터링 상자에서 리소스 그룹의 이름을 입력합니다.
  3. 결과 목록에서 리소스 그룹 이름을 선택하여 개요를 확인합니다.
  4. 리소스 그룹 삭제를 선택합니다.
  5. 리소스 그룹 삭제를 확인하는 메시지가 표시됩니다. 리소스 그룹의 이름을 입력하여 확인하고 삭제를 선택합니다.

잠시 후, 리소스 그룹 및 모든 해당 리소스가 삭제됩니다.

다음 단계

이 가이드에서는 Python용 Azure SDK를 사용하여 Azure App Configuration의 데이터에 액세스하는 방법을 보여 줬습니다.

추가 코드 샘플은 다음을 방문하세요.

Python 앱에서 Azure App Configuration을 사용하는 방법을 알아보려면 다음으로 이동하세요.