快速入门:使用 Azure 应用程序配置创建 Python 应用
在本快速入门中,你将使用适用于 Azure 应用程序配置的 Python 提供程序通过 Azure 应用程序配置 Python 提供程序客户端库来集中存储和管理应用程序设置。
Python 应用配置提供程序是在 Azure SDK for Python 之上运行的一个库,可帮助 Python 开发人员轻松使用应用配置服务。 借助该库,可以像使用字典一样使用配置设置。
先决条件
- 具有活动订阅的 Azure 帐户。 创建试用版订阅。
- 应用程序配置存储区。 创建存储区。
- Python 3.8 或更高版本 - 有关在 Windows 上设置 Python 的信息,请参阅 Windows 上的 Python 文档
添加键值
将以下键值添加到应用程序配置存储区。 有关如何使用 Azure 门户或 CLI 将键值添加到存储区的详细信息,请转到创建键值。
密钥 | 值 | Label | 内容类型 |
---|---|---|---|
message | Hello | 留空 | 留空 |
test.message | Hello test | 留空 | 留空 |
my_json | {"key":"value"} | 留空 | application/json |
控制台应用程序
在本部分中,你将创建控制台应用程序并从应用程序配置存储加载数据。
连接到应用程序配置
为名为 app-configuration-quickstart 的项目创建一个新目录。
mkdir app-configuration-quickstart
切换到新创建的 app-configuration-quickstart 目录。
cd app-configuration-quickstart
使用
pip install
命令安装 Azure 应用配置提供程序。pip install azure-appconfiguration-provider
在 app-configuration-quickstart 目录中,创建名为 app-configuration-quickstart.py 的新文件,并添加以下代码 :
可以使用
DefaultAzureCredential
向应用程序配置存储区进行身份验证。 按照说明为凭据分配应用程序配置数据读取者角色。 在运行应用程序之前,请务必留出足够的时间来传播权限。from azure.appconfiguration.provider import ( load, SettingSelector ) from azure.identity import DefaultAzureCredential import os endpoint = os.environ.get("AZURE_APPCONFIG_ENDPOINT") # Connect to Azure App Configuration using a connection string. config = load(endpoint=endpoint, credential=credential) credential = DefaultAzureCredential() # Find the key "message" and print its value. print(config["message"]) # Find the key "my_json" and print the value for "key" from the dictionary. print(config["my_json"]["key"]) # Connect to Azure App Configuration using a connection string and trimmed key prefixes. trimmed = {"test."} config = load(endpoint=endpoint, credential=credential, trim_prefixes=trimmed) # From the keys with trimmed prefixes, find a key with "message" and print its value. print(config["message"]) # Connect to Azure App Configuration using SettingSelector. selects = {SettingSelector(key_filter="message*", label_filter="\0")} config = load(endpoint=endpoint, credential=credential, selects=selects) # Print True or False to indicate if "message" is found in Azure App Configuration. print("message found: " + str("message" in config)) print("test.message found: " + str("test.message" in config))
运行应用程序
设置环境变量。
将名为 AZURE_APPCONFIG_ENDPOINT 的环境变量设置为 Azure 门户中存储区的“概述”下的应用程序配置存储区的终结点。
如果使用 Windows 命令提示符,则请运行以下命令并重启命令提示符,这样更改才会生效:
setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
如果使用 PowerShell,请运行以下命令:
$Env:AZURE_APPCONFIG_ENDPOINT = "endpoint-of-your-app-configuration-store"
如果使用 macOS 或 Linux,则请运行以下命令:
export AZURE_APPCONFIG_ENDPOINT='endpoint-of-your-app-configuration-store'
正确设置环境变量后,请运行以下命令以在本地运行应用:
python app-configuration-quickstart.py
应会看到以下输出:
Hello value Hello test message found: True test.message found: False
Web 应用程序
应用程序配置提供程序将数据加载到 Mapping
对象中(可作为字典进行访问),可将该对象与各种 Python 框架的现有配置结合使用。 本部分介绍如何在 Flask 和 Django 等常用 Web 框架中使用应用程序配置提供程序。
可通过更新现有 Flask Web 应用中的内置配置来使用 Azure 应用程序配置。 为此,可以将应用程序配置提供程序对象传递给 app.py
中 Flask 应用实例的 update
函数:
azure_app_config = load(endpoint=os.environ.get("AZURE_APPCONFIG_ENDPOINT"), credential=credential)
# NOTE: This will override all existing configuration settings with the same key name.
app.config.update(azure_app_config)
# Access a configuration setting directly from within Flask configuration
message = app.config.get("message")
有关如何在 Python Web 应用程序中使用 Azure 应用程序配置的完整代码示例,请参阅 Azure 应用程序配置 GitHub 存储库。
清理资源
如果不想继续使用本文中创建的资源,请删除此处创建的资源组以避免产生费用。
重要
删除资源组的操作不可逆。 将永久删除资源组以及其中的所有资源。 请确保不要意外删除错误的资源组或资源。 如果在包含要保留的其他资源的资源组中创建了本文的资源,请从相应的窗格中单独删除每个资源,而不是删除该资源组。
- 登录到 Azure 门户,然后选择“资源组”。
- 在“按名称筛选”框中,输入资源组的名称。
- 在结果列表中,选择资源组名称以查看概述。
- 选择“删除资源组”。
- 系统会要求确认是否删除资源组。 重新键入资源组的名称进行确认,然后选择“删除”。
片刻之后,将会删除该资源组及其所有资源。
后续步骤
在本快速入门中,你创建了新的应用配置存储区,并了解了如何从 Python 应用访问键/值。
有关其他代码示例,请访问: