Klauzule INDEX
Klauzule INDEX určuje klíč pro výběr jedinečného řádku v skalární kolekci nebo kolekci tabulek. Zprostředkovatel SNMP se mapuje na jiný typ třídy CIM v závislosti na typu tabulky, která zařízení SNMP používá. Protože klíč může být více než jeden typ objektu, poskytovatel používá různá pravidla mapování v závislosti na typu objektu v klíči. Další informace najdete v tématu datových typů klauzule INDEX.
Poznámka
Další informace o instalaci zprostředkovatele naleznete v tématu Nastavení prostředí WMI SNMP.
Skalární kolekce se mapuje na jednu třídu CIM: to znamená třída, která může mít pouze jednu instanci. Vzhledem k tomu, že není nutné jedinečně identifikovat jednu instanci z jiné, jedna třída neidentifikuje jednu nebo více vlastností jako klíč. Třídy generované ze skalárních kolekcí:
- Neobsahuje kvalifikátory vlastností Key.
- Obsahují standardní kvalifikátor třídy CIM Singleton, který je typu bool.
Kolekce tabulek se mapuje na třídu CIM, která může mít více než jednu instanci. V důsledku toho musí definice třídy CIM obsahovat alespoň jednu vlastnost, která definuje klíč objektu; to znamená vlastnost, která jednoznačně identifikuje instanci třídy. Klauzule INDEX kolekce object-TYPE makro určuje sadu vlastností klíče kolekce. Platí následující pravidla mapování:
Kvalifikátor CIM Key, typ bool, definuje vlastnost klíče.
Řazení informací INDEX v kolekci tabulek definuje pořadí klíčů v definici třídy CIM.
Kvalifikátor CIM Key_Order definuje pořadí klíčů. Tento kvalifikátor je 32bitová celočíselná hodnota bez znaménka, která musí být pro účely syntaxe kvalifikátoru MOF převedena na 32bitovou celočíselnou hodnotu se znaménkem pomocí operace dvou doplňků.
Mapování klauzule INDEX SNMPv2C v současné době nezpracuje použití kvalifikátoru IMPLICITNÍ. V tomto případě není vygenerována definice třídy CIM.
Datové typy klauzule INDEX
Vzhledem k flexibilitě klauzule INDEX v OBJECT-TYPE makro není specifikace klíčových vlastností jednoduchá. Místo toho byste měli zvážit možnosti, které klauzule INDEX může obsahovat jeden nebo více následujících datových typů:
Interně přístupné hodnotě indexobjectu
Hodnota indexobject je pojmenovaná hodnota, která odkazuje na definici objektu MIB, která se zobrazí v koncepčním řádku stejné tabulky, která obsahuje klauzuli INDEX. Definice objektu MIB uvedená v klauzuli INDEX se mapuje na klíčovou vlastnost definice třídy CIM.
Externě přístupné hodnotě indexobject
V tomto případě indexobject je pojmenovaná hodnota, která odkazuje na definici objektu MIB, která se zobrazí v koncepčním řádku jiné tabulky.
Přístupná hodnota indextypu
Hodnota indextype je pojmenovaný typ, který odkazuje na jeden z následujících datových typů: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NetworkAddressnebo IpAddress. Pokud klauzule INDEX obsahuje odkaz typu MIB, použijí se následující pravidla mapování:
- Objekt MIB, na který odkazuje, se mapuje na klíčovou vlastnost definice třídy CIM. Syntaxe typu je založená na zadané hodnotě indextypu, která se mapuje na kvalifikátory vlastností CIM pomocí standardní klauzule SYNTAX mapování procedur.
- Proces mapování generuje jedinečný název vlastnosti zřetězením popisovače objektu tabulky MIB, podtržítka (_) a pořadí pořadí klauzule INDEX indextype hodnotu. Například název vlastnosti třetí komponenty indextype tabulky MIB enterpriseIfTable je enterpriseIfTable_3.
- Vlastnost CIM je opatřena poznámkami kvalifikátorem Virtual_Key. Tento kvalifikátor určuje, že zprostředkovatel SNMP by měl vypočítat hodnotu vlastnosti na základě nadmnožina informací o instanci přidružených ke všem dostupným definicm objektů MIB v definici třídy.
- Definice třídy CIM musí obsahovat alespoň jednu vlastnost, která nemá přidruženou Virtual_Key kvalifikátor; chyba při zadání této vlastnosti zneplatňuje definici třídy.
Podtyp s pevnou délkou
Pokud klauzule INDEX kolekce tabulek SNMP obsahuje podporovaný typ SNMP, který je podtypem typu OCTET STRING s pevnou délkou, kvalifikátor vlastnosti CIM Fixed_Length musí být použit k určení této hodnoty.