Azure tarafından yönetilen uygulamanın oluşturma deneyimi için CreateUiDefinition.json

Bu belge createUiDefinition.json dosyasının temel kavramlarını tanıtır. Azure portal, yönetilen uygulama oluştururken kullanıcı arabirimini tanımlamak için bu dosyayı kullanır.

Şablon aşağıdaki gibidir

{
    "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
    "handler": "Microsoft.Azure.CreateUIDef",
    "version": "0.1.2-preview",
    "parameters": {
        "config": {
            "isWizard": false,
            "basics": { }
        },
        "basics": [ ],
        "steps": [ ],
        "outputs": { },
        "resourceTypes": [ ]
    }
}

her CreateUiDefinition zaman üç özellik içerir:

  • Işleyicisi
  • sürüm
  • parameters

İşleyici her zaman olmalıdır Microsoft.Azure.CreateUIDefve desteklenen en son sürüm olacaktır 0.1.2-preview.

Parameters özelliğinin şeması, belirtilen işleyici ve sürümün bileşimine bağlıdır. Yönetilen uygulamalar için desteklenen özellikler , basics, stepsve outputs'dırconfig. Yalnızca adımın varsayılan davranışını basics geçersiz kılmanız gerektiğinde kullanırsınızconfig. Temel bilgiler ve adım özellikleri, Azure portal görüntülenecek metin kutuları ve açılan menüler gibi öğeleri içerir. outputs özelliği, belirtilen öğelerin çıkış değerlerini Azure Resource Manager şablonunun parametreleriyle eşlemek için kullanılır.

Dahil $schema önerilir, ancak isteğe bağlıdır. Belirtilirse değerinin version URI içindeki sürümle eşleşmesi $schema gerekir.

JSON düzenleyicisini kullanarak createUiDefinition örneğinizi oluşturabilir ve önizlemesini görüntülemek için createUiDefinition Korumalı Alanı'nda test edebilirsiniz. Korumalı alan hakkında daha fazla bilgi için bkz . Azure Yönetilen Uygulamalar için portal arabiriminizi test edin.

Config

config özelliği isteğe bağlıdır. Temel adımdaki varsayılan davranışı geçersiz kılmak veya arabiriminizi adım adım sihirbaz olarak ayarlamak için bunu kullanın. kullanılırsa config , createUiDefinition.json dosyasının bölümündeki ilk özelliktir parameters . Aşağıdaki örnekte kullanılabilir özellikler gösterilmektedir.

"config": {
    "isWizard": false,
    "basics": {
        "description": "Customized description with **markdown**, see [more](https://www.microsoft.com).",
        "subscription": {
            "constraints": {
                "validations": [
                    {
                        "isValid": "[not(contains(subscription().displayName, 'Test'))]",
                        "message": "Can't use test subscription."
                    },
                    {
                        "permission": "Microsoft.Compute/virtualmachines/write",
                        "message": "Must have write permission for the virtual machine."
                    },
                    {
                        "permission": "Microsoft.Compute/virtualMachines/extensions/write",
                        "message": "Must have write permission for the extension."
                    }
                ]
            },
            "resourceProviders": [
                "Microsoft.Compute"
            ]
        },
        "resourceGroup": {
            "constraints": {
                "validations": [
                    {
                        "isValid": "[not(contains(resourceGroup().name, 'test'))]",
                        "message": "Resource group name can't contain 'test'."
                    }
                ]
            },
            "allowExisting": true
        },
        "location": {
            "label": "Custom label for location",
            "toolTip": "provide a useful tooltip",
            "resourceTypes": [
                "Microsoft.Compute/virtualMachines"
            ],
            "allowedValues": [
                "eastus",
                "westus2"
            ],
            "visible": true
        }
    }
},

özelliği için isValid true veya false olarak çözümleyen bir ifade yazın. özelliği için permissionkaynak sağlayıcısı eylemlerinden birini belirtin.

Sihirbazı

özelliği, isWizard sonraki adıma geçmeden önce her adımın başarılı bir şekilde doğrulanması gerektiğini sağlar. Özellik belirtilmediğinde isWizard varsayılan değer false'tur ve adım adım doğrulama gerekli değildir.

Etkinleştirildiğinde isWizardtrue olarak ayarlanır, Temel Bilgiler sekmesi kullanılabilir ve diğer tüm sekmeler devre dışı bırakılır. İleri düğmesi seçildiğinde, sekmenin simgesi bir sekmenin doğrulamasının başarılı mı yoksa başarısız mı olduğunu gösterir. Sekmenin gerekli alanları tamamlandıktan ve doğrulandıktan sonra , İleri düğmesi sonraki sekmeye gezinmeye izin verir. Tüm sekmeler doğrulamayı geçtiğinde Gözden Geçir ve Oluştur sayfasına gidip Oluştur düğmesini seçerek dağıtımı başlatabilirsiniz.

Sekme sihirbazı

Temel bilgileri geçersiz kılma

Temel yapılandırma, temel bilgiler adımını özelleştirmenize olanak tanır.

için description, kaynağınızı açıklayan markdown özellikli bir dize sağlayın. Çok satırlı biçim ve bağlantılar desteklenir.

subscription ve resourceGroup öğeleri daha fazla doğrulama belirtmenize olanak tanır. Doğrulamaları belirtme söz dizimi , metin kutusu için özel doğrulama ile aynıdır. Ayrıca abonelikte veya kaynak grubunda doğrulamalar belirtebilirsiniz permission .

Abonelik denetimi, kaynak sağlayıcısı ad alanlarının listesini kabul eder. Örneğin, Microsoft.Compute'i belirtebilirsiniz. Kullanıcı kaynak sağlayıcısını desteklemeyen bir abonelik seçtiğinde bir hata iletisi gösterir. Hata, kaynak sağlayıcısı bu abonelikte kayıtlı olmadığında ve kullanıcının kaynak sağlayıcısını kaydetme izni olmadığında oluşur.

Kaynak grubu denetiminin için allowExistingbir seçeneği vardır. olduğunda true, kullanıcılar zaten kaynakları olan kaynak gruplarını seçebilir. Bu bayrak en çok çözüm şablonları için geçerlidir; burada varsayılan davranış, kullanıcıların yeni veya boş bir kaynak grubu seçmesini gerektirir. Diğer senaryoların çoğunda bu özelliğin belirtilmesi gerekli değildir.

için location, geçersiz kılmak istediğiniz konum denetiminin özelliklerini belirtin. Geçersiz kılınmayan tüm özellikler varsayılan değerlerine ayarlanır. resourceTypes tam kaynak türü adlarını içeren bir dize dizisi kabul eder. Konum seçenekleri yalnızca kaynak türlerini destekleyen bölgeler ile sınırlıdır. allowedValues bölge dizeleri dizisini kabul eder. Açılan listede yalnızca bu bölgeler görüntülenir. hem resourceTypeshem de allowedValues ayarlayabilirsiniz. Sonuç, her iki listenin de kesişimidir. Son olarak özelliği, visible konum açılan listesini koşullu olarak veya tamamen devre dışı bırakmak için kullanılabilir. 

Temel Bilgiler

Temel bilgiler adımı, Azure portal dosyayı ayrıştırdığında oluşturulan ilk adımdır. Varsayılan olarak, temel adımlar kullanıcıların dağıtım için aboneliği, kaynak grubunu ve konumu seçmesine olanak tanır.

Temel bilgiler varsayılanı

Bu bölümde daha fazla öğe ekleyebilirsiniz. Mümkün olduğunda, kümenin adı veya yönetici kimlik bilgileri gibi dağıtım genelindeki parametreleri sorgulayan öğeler ekleyin.

Aşağıdaki örnekte, varsayılan öğelere eklenmiş bir metin kutusu gösterilmektedir.

"basics": [
    {
        "name": "textBox1",
        "type": "Microsoft.Common.TextBox",
        "label": "Textbox on basics",
        "defaultValue": "my text value",
        "toolTip": "",
        "visible": true
    }
]

Adımlar

steps özelliği temellerden sonra görüntülenecek sıfır veya daha fazla adım içerir. Her adım bir veya daha fazla öğe içerir. Dağıtılan uygulamanın rol veya katmanı başına adım eklemeyi göz önünde bulundurun. Örneğin, birincil düğüm girişleri için bir adım ve kümedeki çalışan düğümleri için bir adım ekleyin.

"steps": [
    {
        "name": "demoConfig",
        "label": "Configuration settings",
        "elements": [
          ui-elements-needed-to-create-the-instance
        ]
    }
]

Çıkışlar

Azure portal, azure Resource Manager dağıtım şablonunun parametrelerinden basics ve steps parametrelerine öğeleri eşlemek için özelliğini kullanıroutputs. Bu sözlüğün anahtarları şablon parametrelerinin adlarıdır ve değerler başvuruda bulunan öğelerden çıkış nesnelerinin özellikleridir.

Yönetilen uygulama kaynak adını ayarlamak için outputs özelliğine adlı applicationResourceName bir değer eklemeniz gerekir. Bu değeri ayarlamazsanız, uygulama ad için bir GUID atar. Kullanıcı arabirimine kullanıcıdan bir ad isteyen bir metin kutusu ekleyebilirsiniz.

"outputs": {
    "vmName": "[steps('appSettings').vmName]",
    "trialOrProduction": "[steps('appSettings').trialOrProd]",
    "userName": "[steps('vmCredentials').adminUsername]",
    "pwd": "[steps('vmCredentials').vmPwd.password]",
    "applicationResourceName": "[steps('appSettings').vmName]"
}

Kaynak türleri

Kullanılabilir konumları yalnızca dağıtılacak kaynak türlerini destekleyen konumlara göre filtrelemek için kaynak türleri dizisi sağlayın. Birden fazla kaynak türü sağlarsanız, yalnızca tüm kaynak türlerini destekleyen konumlar döndürülür. Bu özellik isteğe bağlıdır.

{
    "$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
    "handler": "Microsoft.Azure.CreateUIDef",
    "version": "0.1.2-preview",
    "parameters": {
        "resourceTypes": ["Microsoft.Compute/disks"],
        "basics": [
          ...

İşlevler

CreateUiDefinition, öğelerin giriş ve çıkışlarıyla ve koşullular gibi özelliklerle çalışmaya yönelik işlevler sağlar. Bu işlevler hem söz diziminde hem de işlevlerde Azure Resource Manager şablon işlevlerine benzer.

Sonraki adımlar

createUiDefinition.json dosyasının kendisi basit bir şemaya sahiptir. Bunun gerçek derinliği, desteklenen tüm öğelerden ve işlevlerden gelir. Bu öğeler daha ayrıntılı olarak şu adreste açıklanmıştır:

createUiDefinition için geçerli bir JSON şeması burada bulunabilir: https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json.

Örnek bir kullanıcı arabirimi dosyası için bkz . createUiDefinition.json.