Azure Geliştirici CLI ile Bicep giriş parametreleri için meta veriler üzerinde çalışma

Azure Geliştirici CLI (azd), Bicep şablonlarını @metadata dekoratörü ile destekler. Akıllı varsayılanlar, otomatik değer oluşturma ve daha iyi parametre istemi ile dağıtımı geliştirmek için Bicep giriş parametrelerine meta veriler ekleyin.

Meta veri ekleme

Bicep'teki giriş parametreleri, @metadata şemasız bir nesne olarak destekler . Parametre meta verilerine azd eklemek için azd alanını dahil edin.

@metadata({
  azd: {}
})
param someInput <param-type>

Azure Geliştirici CLI meta verileri parametrenin türüne bağlı değildir ve bunu herhangi bir parametreye ekleyebilirsiniz.

Desteklenen meta veriler

Meta veriler için azd desteklenen yapılandırma alanları şunlardır:

Veri Alanı Description
type azd'ün bu parametre için istemleri nasıl tanımladığını belirler. Örneğin, location.
config gibi generatebazı meta veri türlerinin ayarlarını açıklar.
default Seçme istemi sırasında azd için önce vurgulanacak bir değer tanımlar.
usageName Yapay zeka modeli konum seçimi için kota denetimini denetler.

Her alan aşağıdaki bölümlerde daha ayrıntılı olarak açıklanmıştır.

Türü

Bu yapılandırma, azd bir giriş parametresi için nasıl bir istem oluşturduğunu tanımlar. Desteklenen türler şunlardır:

  • lokasyon

    location türünü, bir giriş parametresinin bir Azure konumunu işlediğini azd belirtmek için kullanın. azd Meta verilerdeki türü bulduğundalocation, konum seçim listesini kullanarak bir değer ister. Örneğin:

    @metadata({
      azd: {
        type: 'location'
      }
    })
    param someInput string
    

    Komut akışı:

    Meta verilerin bulunduğu konum istemini gösteren ekran görüntüsü.

    location türünü default alanla birleştirerek istem akışı sırasında ilk olarak hangi konumun vurgulanacağını kontrol edin. Örneğin:

    @metadata({
      azd: {
        type: 'location'
        default: 'westus'
      }
    })
    param someInput string
    

    Akış başlatılıyor:

    Varsayılan değer içeren meta verilerle konum istemini gösteren ekran görüntüsü.

    Vurgulanan varsayılan seçenek, meta verilerden default alanla eşleşir. Bu yaklaşım, şablon yazarlarının bir konum önermesini sağlarken kullanıcılar bu konumu onaylayabilir veya değiştirebilir. Bicep'te giriş parametresi için varsayılan bir değer ayarlanması, istem akışını atlar ve kullanıcı onayı olmadan varsayılan değeri kullanır.

  • oluşturmak

    generate türünü, azd'e giriş parametresinin değerinin otomatik olarak oluşturulmasını söylemek için kullanın. Bu tür genellikle parolalar veya benzersiz tanımlayıcılar oluşturmak için kullanılır:

    @metadata({
      azd: {
        type: 'generate'
        config: {
          length: 10
        }
      }
    })
    param someInput string
    

    Uyarı

    alanı config ile type: 'generate'gereklidir.

    Çalıştırıldığında azd , giriş parametresi için giriş istemeden 10 karakterlik bir değer oluşturur. Otomatik oluşturma değerlerini yapılandırma seçenekleri için yapılandırma bölümüne bakın.

  • resourceGroup

    resourceGroup türünü, azd'in bu giriş için bir kaynak grubu sormasını sağlamak amacıyla kullanın.

    @metadata({
      azd: {
        type: 'resourceGroup'
      }
    })
    param someInput string
    

    İstem akışı:

    Kaynak grubu türüyle bir istem gösteren ekran görüntüsü.

Config

generate türüyle config nesnesi gereklidir. Otomatik oluşturma seçeneklerini denetler. Aşağıdaki tabloda yapılandırma oluşturma seçenekleri açıklanmaktadır:

Alan Adı Türü Description Varsayılan
length int Oluşturulan değerin toplam uzunluğu 0
noLower bool True ise küçük harfleri hariç tutar. false
noUpper bool True ise, büyük harfleri hariç tutar. false
sayısal olmayan bool True ise, sayıları hariç tutar. false
noSpecial bool True ise, özel karakterleri hariç tutar. false
minLower int Gereken en az küçük harf sayısı. 0
minUpper int Gereken en az büyük harf sayısı. 0
minNumeric int Gereken en az sayı miktarı. 0
minSpecial int Gerekli minimum özel karakter sayısı. 0

Önemli

Tüm minimum gereksinimlerin toplamı (MinLower + MinUpper + MinNumeric + MinSpecial) toplam Uzunluğu aşamaz. Herhangi bir "Hayır-" bayrağı doğruysa, karşılık gelen "Min-" değerini 0 olarak ayarlayın.

Örneğin, uzunluğu 10 olan, özel karakter içermeyen ve sayı içermeyen bir değer oluşturun:

@metadata({
  azd: {
    type: 'generate'
    config: {
      length: 10
      noNumeric: true
      noSpecial: true
    }
  }
})
param someInput string

Varsayılan

Bir listeden öne çıkarılacak başlangıç değerini tanımlar. Türüyle location birleştirin veya doğrudan tanımlı bir seçenek listesiyle bir girişe uygulayın.

@allowed(['foo', 'bar', 'baz'])
@metadata({
  azd: {
    default: 'baz'
  }
})
param someInput string

Bu örnekte, giriş parametresi için desteklenen değerlerin listesini tanımlamak için Bicep'in ek açıklaması kullanılır @allowed() . Bu giriş istendiğinde azd , izin verilen değerlerin listesini kullanır. Meta default verilerdeki alan, ilk seçim olarak hangi seçeneğin ayarlandığını denetler:

İzin verilen değerlerden gelen istem sırasında varsayılanı gösteren ekran görüntüsü.

UsageName

alanı, usageName konum listesini yalnızca belirli bir yapay zeka SKU'sunun ve kapasitenin kullanılabildiği konumlara göre filtreler:

@metadata({
  azd: {
    type: 'location'
    usageName: [
      'OpenAI.GlobalStandard.gpt-5-mini,10'
    ]
  }
})
param someInput string

Bu örnek azd yalnızca yapay zeka modelinin gpt-5-mini yeterli kotaya (en az 10 kapasite) sahip olduğu Azure konumlarını gösterir.

Komut akışı:

AI konumunu istemde bulunabilmek için usageName ayarını gösteren ekran görüntüsü.

Uyarı

azd yeterli kotaya sahip bir konum yoksa hata döndürür.