Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje pokyny pro Azure Operator Service Manager k optimalizaci návrhu schémat skupin konfigurace (CGS) a provozu hodnot skupin konfigurace (CGV). Dodavatelé síťových funkcí, telco operátoři a jejich partneři by měli mít při onboardingu a nasazování NF na paměti tyto postupy.
Přehled schématu JSON
Schéma JSON je standard IETF (Internet Engineering Task Force), který poskytuje formát pro data JSON požadovaná pro aplikaci a způsob interakce s ním. Použití takových standardů pro dokument JSON vám pomůže vynutit konzistenci a platnost dat napříč daty JSON.
Kde se používá schéma JSON?
- Service Manager operátora Azure používá zápis schématu JSON jako metasoubor ve
schemaDefinitionvlastnostech objektu CGSConfigurationGroupSchemaPropertiesFormat. - Azure Operator Service Manager umožňuje návrháři a vydavateli zadat schéma JSON, když operátor musí během vytváření instance síťové služby lokality (SNS) nebo NF zadat data (hodnoty JSON).
- Azure Operator Service Manager umožňuje, aby vlastnosti metasou schématu byly volitelné nebo povinné. Kde je vlastnost označena
required, musí být zadána v hodnotách JSON.
Jaká klíčová slova JSON se podporují?
V případě metasou schématu CGS implementuje Azure Operator Service Manager podporu standardních klíčových slov JSON na základě typu:
- U typů objektů je podpora klíčových slov omezená zásadami filtru. Viz objekt v referenční dokumentaci schématu JSON.
- U typů řetězců není podpora klíčových slov omezená ani filtrovaná. Viz řetězec v referenčních informacích ke schématu JSON.
- U číselných typů není podpora klíčových slov omezená ani filtrovaná. Viz číselné typy v referenčních informacích ke schématu JSON.
Nepovinná a povinná pole
Vlastnost deklarujete jako volitelnou zahrnutím klíčového required slova, které vynechá volitelnou vlastnost. Pokud klíčové slovo nezadáte required , považují se všechny vlastnosti za povinné. Pro podporu volitelného typu vlastnosti potřebujete alespoň jeden požadovaný typ vlastnosti.
{
"type": "object",
"properties": {
"abc": {
"type": "integer",
"default": 30
},
"xyz": {
"type": "string",
"default": "abc123"
}
}
"required": ["abc"]
}
Výchozí hodnoty ve schématu JSON
Pro volitelné vlastnosti implementuje Azure Operator Service Manager vlastní metodu zpracování výchozích hodnot. Pokud je výchozí hodnota definována v metasou schématu CGS, Azure Operator Service Manager použije tuto hodnotu, ve které vlastnost chybí nebo není definována ve vstupních datech CGV. Logika validátoru Azure Operator Service Manager v podstatě hydratuje hodnotu CGV s výchozí hodnotou, pokud operátor nezadá hodnotu.
Jak definovat výchozí hodnoty
Výchozí hodnoty musí být zadány buď uvnitř vlastností, nebo uvnitř položek pole. Následující příklad ukazuje výchozí hodnoty s celočíselnou a řetězcovou vlastností typy:
{
"type": "object",
"properties": {
"abc": {
"type": "integer",
"default": 30
},
"xyz": {
"type": "string",
"default": "abc123"
}
}
}
Pravidla pro definování výchozích hodnot
Následující pravidla se použijí při ověřování výchozí hodnoty. Tato pravidla zvažte, pokud používáte výchozí hodnoty, abyste zajistili očekávané výsledky.
- Výchozí hodnota by neměla být použita pro požadovanou vlastnost.
- Výchozí hodnota se vyhodnocuje v pořadí shora dolů, ze kterého se klíčové slovo zobrazuje jako první.
- Pokud ve vstupní hodnotě CGV existuje hodnota vlastnosti, vyhodnotí se jako výchozí pouze podřízené položky těchto vlastností.
- Pokud ve vstupních datech CGV neexistuje hodnota vlastnosti, je vyhodnocena jako výchozí společně s jakýmikoli podřízenými prvky.
- Kde hodnota vlastnosti je
objecttyp, a ani jeho klíč neexistuje ve vstupní CGV, nejsou vyhodnoceny žádné výchozí hodnoty objektu.
Důležité informace o CGS
V průběhu času se doporučený přístup k nejlepším návrhům CGS změnil.
One-CGS přístup
Původní doporučení bylo použít pouze jeden CGS pro celý NF. Tento přístup konsolidoval parametry specifické pro lokalitu, konkrétní instanci a zabezpečení do jedné sady objektů skupiny konfigurace. Tento přístup se vyhnul více sadám objektů, s výjimkou výjimečných případů, kdy služba měla více komponent. Mnoho partnerů úspěšně onboardoval služby pomocí tohoto přístupu a zůstává podporováno.
Three-CGS přístup
Nyní doporučujeme použít alespoň tři CGS pro celý NF tím, že uspořádáte parametry do těchto sad skupin konfigurace:
- Parametry specifické pro web: Příklady zahrnují IP adresy a jedinečné názvy.
- Parametry specifické pro instanci: Příklady zahrnují časové limity a úrovně ladění.
- Parametry specifické pro zabezpečení: Příklady zahrnují hesla a certifikáty. Pomocí parametrů specifických pro zabezpečení používáte Azure Key Vault k ukládání zabezpečených hodnot.
Návrh sad objektů se třemi CGS
Při návrhu tří objektů CGS zvažte následující pokyny pro metas schématu:
Zvolte, které parametry chcete zveřejnit.
Pravidlem je zveřejnit tyto parametry pomocí přímé operace, jako je výpočetní úroveň nebo hodnota Helmu. Tento přístup použijte na rozdíl od parametru, na který pracuje jiný agent, jako
cloudinitjsou uživatelská data.Seřaďte parametry do sad specifických pro lokalitu, pro konkrétní instanci a pro konkrétní zabezpečení.
Definujte požadované a volitelné parametry. Pro volitelné parametry definujte rozumnou výchozí hodnotu.
Ujistěte se, že se parametry nepřekrývají mezi objekty CGS.
Tento příklad ukazuje ukázkovou datovou část CGS:
{
"type": "object",
"properties": {
"abc": {
"type": "integer",
"default": 30
},
"xyz": {
"type": "integer",
"default": 40
},
"qwe": {
"type": "integer"
}
}
"required": "qwe"
}
Tento příklad ukazuje odpovídající datovou část CGV, kterou operátor předává:
{
"qwe": 20
}
Tento příklad ukazuje výslednou datovou část CGV, kterou vygeneruje Azure Operator Service Manager:
{
"abc": 30,
"xyz": 40,
"qwe": 20
}
Důležité informace o CGV
Před odesláním vytvoření prostředku CGV můžete ověřit, že schéma a hodnoty podkladového souboru YAML nebo JSON odpovídají tomu, co odpovídající CGS očekává. K dosažení tohoto ověření je jednou z možností použití rozšíření YAML pro Visual Studio Code.