ОтелСвойстваКонфигурации
Свойства компонента из файла конфигурации (ConfigProperties).
Описание
Узел-соответствие YAML, который фабрика передаёт провайдеру компонента в СоздатьКомпонент(Свойства) (см. ОтелКонфигурационнаяФабрика.ЗарегистрироватьПровайдерКомпонента). Соответствует ConfigProperties спецификации Configuration API: даёт доступ ко всем свойствам узла — скалярам, вложенным соответствиям, последовательностям скаляров и соответствий, а также к списку ключей.
Каждое значение читается типизированным геттером:
- свойства нет — геттер возвращает значение по умолчанию (параметр
ПоУмолчанию, если не задан —Неопределено); - свойство задано со значением null (
timeout:без значения) — геттер возвращаетNull: null и отсутствие свойства — разные случаи (nullBehaviorиdefaultBehaviorсхемы компонента); - значение не того типа — исключение
Свойство "<имя>": ожидается <тип>. Спецификация Configuration SDK требует, чтобы Create Component при несовпадении типа возвращал ошибку, и геттер даёт её сразу: фабрика передаёт исключение изСоздать.
Содержит и ЭтоNull проверяют, задано ли свойство и равно ли оно null. Вложенное соответствие читается как ОтелСвойстваКонфигурации.
Узел хранится в неизменяемых коллекциях collectionos: соответствия — ФиксированнаяКарта, последовательности — ФиксированныйСписок, null — Null. Узел копируется при создании, поэтому изменения исходного соответствия свойства не меняют. Массивы, которые возвращают методы, — новые массивы.
Конструктор
Новый ОтелСвойстваКонфигурации(ДанныеУзла)| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ДанныеУзла | Соответствие, ФиксированноеСоответствие, Неопределено | — | Свойства компонента из файла; Неопределено в значении свойства — null; Неопределено вместо узла — компонент без свойств (my_exporter:) |
Фабрика создаёт объект сама; создавать его нужно, например, в тестах провайдера компонента.
Методы
| Метод | Значение свойства | Возвращает |
|---|---|---|
ПолучитьСтроку(Имя, ПоУмолчанию = Неопределено) | строка | Строка |
ПолучитьБулево(Имя, ПоУмолчанию = Неопределено) | true или false | Булево |
ПолучитьЦелое(Имя, ПоУмолчанию = Неопределено) | целое число | Число |
ПолучитьЧисло(Имя, ПоУмолчанию = Неопределено) | число, целое или дробное | Число |
ПолучитьСвойства(Имя, ПоУмолчанию = Неопределено) | соответствие | ОтелСвойстваКонфигурации |
ПолучитьМассивСтрок(Имя, ПоУмолчанию = Неопределено) | последовательность строк | Массив из Строка |
ПолучитьМассивБулево(Имя, ПоУмолчанию = Неопределено) | последовательность булевых значений | Массив из Булево |
ПолучитьМассивЦелых(Имя, ПоУмолчанию = Неопределено) | последовательность целых чисел | Массив из Число |
ПолучитьМассивЧисел(Имя, ПоУмолчанию = Неопределено) | последовательность чисел | Массив из Число |
ПолучитьМассивСвойств(Имя, ПоУмолчанию = Неопределено) | последовательность соответствий | Массив из ОтелСвойстваКонфигурации |
Ключи() | — | Массив из Строка — имена всех заданных свойств, в том числе со значением null |
Содержит(Имя) | — | Булево — свойство задано, в том числе со значением null |
ЭтоNull(Имя) | — | Булево — свойство задано со значением null |
Каждый геттер возвращает значение свойства, Null для свойства со значением null или ПоУмолчанию, если свойства нет. Значение не того типа и последовательность с элементом другого типа дают исключение с именем свойства и ожидаемым типом.
Пример
exporter:
my_exporter:
endpoint: http://collector:9000
timeout: 5000
tags: [a, b]
tls:
insecure: trueФункция СоздатьКомпонент(Свойства) Экспорт
Адрес = Свойства.ПолучитьСтроку("endpoint"); // "http://collector:9000"
Таймаут = Свойства.ПолучитьЦелое("timeout", 10000); // 5000
Метки = Свойства.ПолучитьМассивСтрок("tags", Новый Массив); // ["a", "b"]
// tls нет - без TLS; tls: (null) - TLS с настройками по умолчанию; tls со свойствами - по ним
Tls = Свойства.ПолучитьСвойства("tls");
Если Tls = Null Тогда
Tls = Новый ОтелСвойстваКонфигурации(Неопределено);
КонецЕсли;
БезTls = Tls = Неопределено Или Tls.ПолучитьБулево("insecure", Ложь);
// Свойства.ПолучитьЦелое("endpoint") - исключение: Свойство "endpoint": ожидается целое число
// ...
КонецФункции