【研发类-框架和库Skills】azure-appconfiguration-py 技能

📅 2026/7/4 20:26:42
【研发类-框架和库Skills】azure-appconfiguration-py 技能
Azure App Configuration SDK for Python。用于集中式配置管理、功能标志和动态设置。技能概述azure-appconfiguration-py 技能提供了Azure App Configuration SDK for Python的完整使用指南。该技能帮助开发者使用Python SDK进行集中式配置管理、功能标志管理和动态设置实现应用程序配置的集中管理和动态更新。下载地址https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-appconfiguration-py主要功能配置设置管理: 创建、读取、更新和删除配置设置功能标志管理: 创建和管理功能标志支持渐进式发布标签管理: 使用标签分离不同环境的配置快照操作: 创建和管理配置快照支持回滚只读保护: 锁定关键配置防止意外修改异步客户端: 支持异步操作提高性能触发条件在以下情况下应该调用此技能:需要在Python应用中使用Azure App Configuration实现集中式配置管理管理功能标志和动态配置创建配置快照进行版本控制实现环境特定的配置管理安装方法pip install azure-appconfiguration环境变量AZURE_APPCONFIGURATION_CONNECTION_STRINGEndpointhttps://name.azconfig.io;Id...;Secret...# 或使用Entra ID:AZURE_APPCONFIGURATION_ENDPOINThttps://name.azconfig.io使用示例示例1: 创建客户端from azure.appconfiguration import AzureAppConfigurationClient# 使用连接字符串client AzureAppConfigurationClient.from_connection_string(os.environ[AZURE_APPCONFIGURATION_CONNECTION_STRING])# 使用Entra IDfrom azure.identity import DefaultAzureCredentialclient AzureAppConfigurationClient(base_urlos.environ[AZURE_APPCONFIGURATION_ENDPOINT],credentialDefaultAzureCredential())示例2: 配置设置操作from azure.appconfiguration import ConfigurationSetting# 获取设置setting client.get_configuration_setting(keyapp:settings:message)print(f{setting.key} {setting.value})# 获取带标签的设置setting client.get_configuration_setting(keyapp:settings:message,labelproduction)# 设置配置setting ConfigurationSetting(keyapp:settings:message,valueHello, World!,labeldevelopment,content_typetext/plain,tags{environment: dev})client.set_configuration_setting(setting)# 删除设置client.delete_configuration_setting(keyapp:settings:message,labeldevelopment)示例3: 列出设置# 列出所有设置settings client.list_configuration_settings()for setting in settings:print(f{setting.key} [{setting.label}] {setting.value})# 按键前缀过滤settings client.list_configuration_settings(key_filterapp:settings:*)# 按标签过滤settings client.list_configuration_settings(label_filterproduction)示例4: 功能标志管理from azure.appconfiguration import ConfigurationSettingimport json# 设置功能标志feature_flag ConfigurationSetting(key.appconfig.featureflag/beta-feature,valuejson.dumps({id: beta-feature,enabled: True,conditions: {client_filters: []}}),content_typeapplication/vnd.microsoft.appconfig.ffjson;charsetutf-8)client.set_configuration_setting(feature_flag)# 获取功能标志setting client.get_configuration_setting(key.appconfig.featureflag/beta-feature)flag_data json.loads(setting.value)print(fFeature enabled: {flag_data[enabled]})示例5: 快照操作from azure.appconfiguration import ConfigurationSnapshot, ConfigurationSettingFilter# 创建快照snapshot ConfigurationSnapshot(namev1-snapshot,filters[ConfigurationSettingFilter(keyapp:*, labelproduction)])created client.begin_create_snapshot(namev1-snapshot,snapshotsnapshot).result()# 列出快照中的设置settings client.list_configuration_settings(snapshot_namev1-snapshot)示例6: 异步客户端from azure.appconfiguration.aio import AzureAppConfigurationClientfrom azure.identity.aio import DefaultAzureCredentialasync def main():credential DefaultAzureCredential()client AzureAppConfigurationClient(base_urlendpoint,credentialcredential)setting await client.get_configuration_setting(keyapp:message)print(setting.value)await client.close()await credential.close()客户端操作操作描述get_configuration_setting获取单个设置set_configuration_setting创建或更新设置delete_configuration_setting删除设置list_configuration_settings列出设置带过滤器set_read_only锁定/解锁设置begin_create_snapshot创建时间点快照list_snapshots列出所有快照最佳实践使用标签: 用于环境分离dev、staging、prod使用键前缀: 用于逻辑分组app:database:*、app:cache:*生产设置只读: 防止意外更改创建快照: 部署前创建快照以便回滚使用Entra ID: 生产环境中优先于连接字符串定期刷新设置: 在长时间运行的应用中使用功能标志: 用于渐进式发布和A/B测试限制说明仅当任务明确符合上述范围时使用此技能不要将输出视为环境特定验证、测试或专家审查的替代品如果缺少所需的输入、权限、安全边界或成功标准请停止并寻求澄清