Поделиться через


Преобразователь (TCP/IP)

Конструкция преобразователя TCP/IP позволяет расширить схему связи bidi с помощью запросов, которые извлекают данные из определенного объекта MIB (SNMP Management Information Base), а затем преобразуют данные в строковое значение, основанное на списке пар значений, указанных в элементах преобразования. Конструкция преобразователя определена в Tcpbidi.xsd.

attribute Описание
deviceIndex (Необязательно) Логическое значение, которое, если значение TRUE, означает, что связанный алгоритм должен включать индекс устройства в указанный OID; Если этот атрибут имеет значение FALSE, конечный нуль добавляется к OID. Значение по умолчанию — FALSE. Дополнительные сведения см. в примечании после этой таблицы.
drvPrinterEvent (Необязательно) Логическое значение, указывающее, отправляет ли монитор портов уведомления драйверу. Значение TRUE указывает, что монитор портов отправляет уведомления драйверу; Значение FALSE означает, что монитор портов не отправляет уведомления драйверу.
name Строковое значение, представляющее имя элемента схемы.
oid Строковое значение, представляющее адрес объекта MIB в виде идентификатора объекта (OID).
refreshInterval (Необязательно) Целочисленное значение интервала опроса в секундах. Значение по умолчанию — 600 секунд.
useFirstIndex (Необязательно) Логическое значение, которое можно задать для чтения первой записи в таблице MIB. Этот атрибут используется только в том случае, если конструкция преобразователя находится в экземпляре Property.

Примечание

Сетевое устройство, поддерживающее протокол SNMP, может быть узлом для различных подустройств, таких как процессор, сеть, принтер и хранилище дисков. Таблицы MIB, реализованные в сетевых принтерах, содержат записи, индексированные по индексам устройств. Чтобы получить данные из таблицы MIB (например, имя входной ячейки), запрос должен иметь индекс устройства, который правильно идентифицирует вложенную ячейку. Стандартный монитор портов TCP/IP позволяет вручную настроить индекс устройства с помощью пользовательского интерфейса конфигурации портов. Расширение bidi с атрибутом deviceIndex , равным TRUE , создает OID с соответствующим индексом устройства, полученным из пользовательского интерфейса конфигурации порта. Кроме того, если конструкция преобразователя содержится в экземпляре Property и атрибут deviceIndex отсутствует или имеет значение FALSE, OID будет иметь нулевой индекс, добавленный к его концу.

Следующие типы данных MIB поддерживаются подпрограммами преобразования:

  • ЦЕЛОЕ ЧИСЛО

  • Целое число32

  • Датчик32

  • Counter32

  • TimeTicks

  • Без знака32

  • Счетчик64

  • Непрозрачный

  • СТРОКА ОКТЕТА

  • ИДЕНТИФИКАТОР ОБЪЕКТА

Элемент Conversion

Каждая конструкция преобразователя будет включать один или несколько элементов Преобразования для определения сопоставления значений, считываемых из элементов MIB, в значения схемы Bidi.

attribute Описание
mibValue (Необязательно) Строковое значение, представляющее одно возможное значение данных, которое может быть прочитано из MIB.
bidiValue (Необязательно) Строковое значение, представляющее значение bidi, которое возвращается, если данные соответствуют атрибуту mibValue для этого элемента Conversion.

Пример кода

В следующем примере кода расширяется схема связи bidi путем добавления новых свойств и конструкций преобразователя.

<Property name="Printer">
  <Property name="Layout">
    <Property name="InputBins">
      <IndexedProperty name="Bin">
        <Converter name="BinType" oid="1.3.6.1.2.1.43.8.2.1.2" deviceIndex="true">
          <Conversion mibValue="2" bidiValue="Unknown"/>
          <Conversion mibValue="3" bidiValue="SheetFeedAutoRemovableTray"/>
          <Conversion mibValue="4" bidiValue="SheetFeedAutoNonRemovableTray"/>
          <Conversion mibValue="5" bidiValue="SheetFeedManual"/>
          <Conversion mibValue="6" bidiValue="ContinuousRoll"/>
          <Conversion mibValue="7" bidiValue="ContinuousFanFold"/>
        </Converter>
      </IndexedProperty>
    </Property>
    <Property name="Orientation">
      <Converter name="CurrentValue" oid="1.3.6.1.2.1.43.15.1.1.7" deviceIndex="true" useFirstIndex="true">
        <Conversion mibValue="3" bidiValue="Portrait"/>
        <Conversion mibValue="4" bidiValue="Landscape"/>
     </Converter>
   </Property>
 </Property>
 <Property name="Custom">
    <Property name="HostResourceMIB">
      <Converter name="InterfaceName" oid="1.3.6.1.2.1.2.1">
      <Conversion mibValue="1" bidiValue="InterfaceOne"/>
    <Conversion mibValue="2" bidiValue="InterfaceTwo"/>
     </Converter>
  </Property>
 </Property
</Property>

Предыдущий пример приводит к следующим запросам.

\Printer.Layout.InputBins.Bin###:BinType
\Printer.Layout.Orientation:CurrentValue
\Printer.Custom.HostResourceMIB:InterfaceName

Конструкция преобразователя для BinType содержится в экземпляре IndexedProperty, и в результате текущая запись строки таблицы MIB автоматически добавляется к OID.

Поскольку конструкция преобразователя для CurrentValue содержится в экземпляре Property, а атрибут useFirstIndex имеет значение true, в OID автоматически добавляется завершающее значение 1.

Конструкция преобразователя для InterfaceName содержится в экземпляре Property, поэтому конечный нуль автоматически добавляется к OID.