【问题标题】:Atomically push settings to azure app config以原子方式将设置推送到 azure 应用配置
【发布时间】:2022-01-05 10:54:59
【问题描述】:

我正在使用 azure devops 管道将 json 配置文件推送到 azure 应用配置。根据the documentation 有一个可以启用的设置:

删除存储中具有指定前缀和标签的所有其他键值:默认值为未选中。 选中:在从配置文件推送新的键值之前,删除 App 配置存储中与指定前缀和标签匹配的所有键值。 未选中:将配置文件中的所有键值对推送到应用配置存储中,并保持应用配置存储中的所有其他内容不变。

启用该设置后,操作听起来好像执行了两个步骤:删除和更新。我不希望应用程序检查配置以发现它丢失。

是否可以像 http put 一样以原子方式一次更新所有配置?

【问题讨论】:

    标签: azure azure-devops azure-app-configuration


    【解决方案1】:

    从 App Configuration 服务的角度来看,每个 key-value 总是通过单独的请求单独更新(和删除或创建),因此在涉及多个 key-value 的更改时不存在原子操作。应用程序应设计为可容忍过渡状态。或者,您可以考虑使用其他机制来通知应用程序什么是获取/刷新配置的好时机。

    【讨论】:

    • 1.也许这是一个非常不可能的情况,但是可以删除这些值,然后应用程序可以启动并且在配置中什么也看不到。担心这个是否正确? 2. 假设我有一个特定的键,必须设置它的值才能表明 all 值已设置。是否可以对这个值进行简单的检查,如果它存在以获取其余的值?
    • 回答我自己的问题 - 我想我可以做到以下几点: 1. 创建一个具有唯一标签的密钥,例如“RefreshSentinel” 2. 配置刷新以观察此键并在更改时更新 all 键 3. 推送与不同标签关联的配置,例如“应用程序设置”。这将删除现有的“AppSettings”,但保持哨兵不变 4.推送哨兵配置值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多