Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Конфигурация приложений Azure сохраняет данные конфигурации в качестве ключевых значений. Ключевые значения — это простое и гибкое представление параметров приложения, используемых разработчиками.
Ключи
Ключи служат идентификаторами для значений ключей и используются для хранения и получения соответствующих значений. Традиционно ключи размещаются в иерархическом пространстве имен и разделяются определенным символом, например /
или :
. Используйте соглашение, подходящее для вашего приложения. Конфигурация приложений обрабатывает ключи в целом. Он не анализирует ключи, чтобы выяснить, как их имена структурированы, и не налагает на них каких-либо правил.
Ниже приведен пример имен ключей, структурированных в иерархии на основе компонентных служб:
AppName:Service1:ApiEndpoint
AppName:Service2:ApiEndpoint
Использование данных конфигурации в фреймворках приложений может диктовать специфичные схемы именования пар "ключ-значение". Например, на платформе Spring Cloud Java определены ресурсы Environment
, передающие параметры в приложение Spring. Эти ресурсы параметризованы переменными, включающими имя приложения и профиль. Ключи для конфигураций, связанных с Spring Cloud, обычно начинаются с этих двух элементов, разделённых разделителем.
Ключи, хранящиеся в Конфигурации приложений, — это чувствительные к регистру строки, основанные на Юникоде. Ключи app1 и App1 отличаются в магазине конфигурации приложений. Учитывайте это при использовании параметров конфигурации в приложении, так как некоторые фреймворки обрабатывают ключи конфигурации без учета регистра. Мы не рекомендуем использовать вариант для различения ключей.
Вы можете использовать любой символ юникода в именах ключей, кроме %
. Имя ключа не может быть .
или ..
либо. Существует совокупное ограничение размера в 10 КБ в значении ключа. Это ограничение включает все символы ключа, его значение и все связанные необязательные атрибуты. В рамках этого ограничения можно использовать множество иерархических уровней для ключей.
Проектирование ключевых пространств имен
Для данных конфигурации используются два общих подхода к именованию ключей: неструктурированные или иерархические. Эти методы похожи с точки зрения использования приложения, но иерархическое присвоение имен имеет несколько преимуществ:
- Проще читать. Разделители в иерархическом имени ключа функционируют как пробелы в предложении. Они также обеспечивают естественные разрывы между словами.
- Проще управлять. Иерархия имен ключей представляет логические группы данных конфигурации.
- Проще использовать. Проще написать запрос, который осуществляет сопоставление ключей в иерархической структуре и извлекает лишь фрагмент данных конфигурации. Кроме того, многие новые платформы программирования имеют встроенную поддержку иерархических данных конфигурации, таким образом, что приложение может использовать определенные наборы конфигурации.
Ключи в конфигурации приложений можно упорядочивать в иерархическом режиме различными способами. Думайте о таких ключах, как URI. Каждый иерархический ключ — это путь к ресурсу, состоящий из одного или нескольких компонентов, объединенных разделителями. Выберите символ, используемый в качестве разделителя, в зависимости от потребностей приложения, языка программирования или платформы. Используйте несколько разделителей для разных ключей в конфигурации приложений.
Ключи для обозначений
В Конфигурации приложений пары "ключ — значение" можно дополнять атрибутом label (метка). Метки используются для различения пар «ключ-значение» с одинаковым ключом. Ключ app 1 с метками A и B формирует два отдельных ключа в хранилище конфигурации приложений. По умолчанию ключ-значение не имеет метки. Чтобы явно ссылаться на пару "ключ-значение" без метки, используйте \0
(URL-адрес в кодировке %00
).
Метка предоставляет удобный способ создания вариантов ключа. Обычное использование меток заключается в указании нескольких сред для одного и того же ключа:
Key = AppName:DbEndpoint & Label = Test
Key = AppName:DbEndpoint & Label = Staging
Key = AppName:DbEndpoint & Label = Production
Значения ключа версии
Используйте метки в качестве способа создания нескольких версий ключа-значения. Например, можно ввести номер версии приложения или идентификатор фиксации Git в метках, чтобы определить значения ключей, связанные с определенной сборкой программного обеспечения.
Замечание
Если вы ищете изменения версий, конфигурация приложений сохраняет все изменения ключа-значения, которые произошли в течение последнего определенного периода времени автоматически. Дополнительные сведения см. в разделе Снимок на определённый момент времени.
Запрос ключевых значений
Каждая пара "ключ — значение" уникально идентифицируется по сочетанию ключа и метки (которая может принимать значение \0
). Вы запрашиваете хранилище "Конфигурация приложений" для получения пар "ключ-значение", указывая шаблон. Хранилище службы "Конфигурация приложений" возвращает все пары "ключ-значение", которые соответствуют указанному шаблону, включая все относящиеся к ним значения и атрибуты. Используйте следующие ключевые шаблоны в вызовах REST API к конфигурации приложений:
Ключ | Описание |
---|---|
key опущен или key=* |
Соответствует всем ключам. |
key=abc |
Точно соответствует имени abc ключа. |
key=abc* |
Соответствует именам ключей, начинающимся с abc . |
key=abc,xyz |
Соответствует именам ключей abc или xyz . Ограничено пятью CSV. |
Кроме того, можно включить следующие шаблоны меток:
Этикетка | Описание |
---|---|
label опущен или label=* |
Соответствует любой метки, которая включает в себя \0 . |
label=%00 |
Соответствует \0 метке. |
label=1.0.0 |
Точно соответствует метки 1.0.0 . |
label=1.0.* |
Соответствует меткам, начинающимся с 1.0. . |
label=%00,1.0.0 |
Соответствует меткам \0 или 1.0.0 , и ограничена пятью CSV. |
Замечание
*
, ,
и \
являются зарезервированными символами в запросах. Если зарезервированный символ используется в именах ключей или метках, его необходимо экранировать с помощью \{Reserved Character}
в запросах.
Ценности
Присваиваемые ключам значения также являются строками Юникода. Для значений можно использовать любые символы Юникода.
Использование типа контента
Каждый ключ-значение в конфигурации приложения имеет атрибут типа контента. При необходимости этот атрибут можно использовать для хранения сведений о типе значения в ключевом значении, которое помогает приложению правильно обрабатывать его. Для типа контента можно использовать любой формат. Конфигурация приложений использует типы мультимедиа (также известные как типы MIME) для встроенных типов данных, таких как флаги функций, ссылки на Key Vault и значения ключей JSON.