Python용 Azure SDK를 사용하여 Python 앱 만들기
이 문서에서는 Python용 Azure SDK를 사용하여 Azure App Configuration의 데이터에 액세스하는 방법의 예제를 보여 줍니다.
팁
App Configuration은 Python SDK를 기반으로 빌드되고 더 다양한 기능으로 사용하기 쉽도록 설계된 Python 공급자 라이브러리를 제공합니다. 구성 설정을 사전처럼 사용할 수 있으며 여러 레이블의 구성 컴퍼지션, 키 이름 트리밍 및 Key Vault 참조의 자동 확인과 같은 다른 기능을 제공합니다. 자세한 내용은 Python 빠른 시작으로 이동합니다.
필수 조건
- Azure 구독 - 체험 구독 만들기
- Python 3.8 이상 - Windows에서 Python을 설정하는 방법에 대한 자세한 내용은 Windows 기반의 Python 설명서를 참조하세요
- App Configuration 저장소. 저장소를 만듭니다.
키-값 만들기
App Configuration 저장소에 다음 키-값을 추가하고 레이블 및 콘텐츠 형식을 기본값으로 둡니다. Azure Portal 또는 CLI를 사용하여 저장소에 키-값을 추가하는 방법에 대한 자세한 내용은 키-값 만들기로 이동합니다.
키 | 값 |
---|---|
TestApp:Settings:Message | Azure App Configuration의 데이터 |
Python 앱 설정
app-configuration-example이라는 프로젝트에 대한 새 디렉터리를 만듭니다.
mkdir app-configuration-example
새로 만든 app-configuration-example 디렉터리로 전환합니다.
cd app-configuration-example
pip install
명령을 사용하여 Azure App Configuration 클라이언트 라이브러리를 설치합니다.pip install azure-appconfiguration
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 연결 문자열 구성
AZURE_APPCONFIG_CONNECTION_STRING이라는 환경 변수를 설정하고, App Configuration 저장소에 대한 연결 문자열로 설정합니다. 명령줄에서 다음 명령을 실행합니다.
Windows 명령 프롬프트를 사용하여 로컬로 앱을 실행하려면 다음 명령을 실행하고
<app-configuration-store-connection-string>
을 앱 구성 저장소의 연결 문자열로 바꿉니다.setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
환경 변수의 값을 출력하여 아래의 명령으로 올바르게 설정되었는지 확인합니다.
Windows 명령 프롬프트를 사용하여 명령 프롬프트를 다시 시작하여 변경 내용이 적용되도록 하고 다음 명령을 실행합니다.
echo %AZURE_APPCONFIG_CONNECTION_STRING%
샘플 코드
이 섹션의 샘플 코드 조각에서는 Python용 App Configuration 클라이언트 라이브러리를 사용하여 일반적인 작업을 수행하는 방법을 보여 줍니다. 이러한 코드 조각을 이전에 만든 app-configuration-example.py 파일의 try
블록에 추가합니다.
참고 항목
App Configuration 클라이언트 라이브러리는 키-값 개체를 ConfigurationSetting
으로 참조합니다. 따라서 이 문서에서는 App Configuration 저장소의 키-값을 구성 설정이라고 합니다.
아래 방법 알아보기:
- 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)
구성 설정 추가
다음 코드 조각에서는 key
및 value
필드가 있는 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_filter
및 label_filter
인수를 제공하여 각각 key
및 label
을 기준으로 키-값을 필터링할 수 있습니다. 필터링에 대한 자세한 내용은 구성 설정을 쿼리하는 방법을 참조하세요.
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_only
가 True
이면 설정이 잠깁니다. 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))
구성 설정 잠금 해제
ConfigurationSetting
의 read_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
리소스 그룹을 삭제하면 다시 되돌릴 수 없습니다. 리소스 그룹 및 포함된 모든 리소스가 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 합니다. 유지하려는 다른 리소스가 포함된 리소스 그룹 내에서 이 문서에 대한 리소스를 만든 경우 리소스 그룹을 삭제하는 대신 해당 창에서 각 리소스를 개별적으로 삭제합니다.
- Azure Portal에 로그인하고 리소스 그룹을 선택합니다.
- 이름으로 필터링 상자에서 리소스 그룹의 이름을 입력합니다.
- 결과 목록에서 리소스 그룹 이름을 선택하여 개요를 확인합니다.
- 리소스 그룹 삭제를 선택합니다.
- 리소스 그룹 삭제를 확인하는 메시지가 표시됩니다. 리소스 그룹의 이름을 입력하여 확인하고 삭제를 선택합니다.
잠시 후, 리소스 그룹 및 모든 해당 리소스가 삭제됩니다.
다음 단계
이 가이드에서는 Python용 Azure SDK를 사용하여 Azure App Configuration의 데이터에 액세스하는 방법을 보여 줬습니다.
추가 코드 샘플은 다음을 방문하세요.
Python 앱에서 Azure App Configuration을 사용하는 방법을 알아보려면 다음으로 이동하세요.