Bicep için en iyi yöntemler

Bu makalede, Bicep dosyalarınızı geliştirmek için izlenecek uygulamalar önerilir. Bu uygulamalar, Bicep dosyanızı daha kolay anlaşılır hale getirir ve kullanır.

Microsoft Learn

Bicep en iyi yöntemleri hakkında daha fazla bilgi edinmek ve uygulamalı rehberlik için bkz. Bicep kodunuzu iş birliği için Microsoft Learn..

Parametreler

  • Parametre bildirimleri için iyi adlandırma kullanın. İyi adlar, şablonlarınızı okumayı ve anlamayı kolaylaştırır. Net ve açıklayıcı adlar kullanmaya dikkat ediyor ve adlandırma konusunda tutarlı olun.

  • Şablonun kullandığı parametreleri dikkatli bir şekilde düşünebilirsiniz. Dağıtımlar arasında değişiklik olan ayarlar için parametreleri kullanmayı deneyin. Değişkenler ve sabit kodlu değerler, dağıtımlar arasında değişmeden ayarlar için kullanılabilir.

  • Kullanmakta olduğu varsayılan değerlere dikkat edersiniz. Herkesin dağıtması için varsayılan değerlerin güvenli olduğundan emin olun. Örneğin, şablonu bir test ortamına dağıtan birinin gereksiz yere büyük bir maliyet oluşturması için düşük maliyetli fiyatlandırma katmanları ve SKI'lar kullanmayı göz önünde bulundurabilirsiniz.

  • Dekoratörü @allowed fazla kullanın. Bu dekoratörü çok geniş bir şekilde kullanırsanız geçerli dağıtımları engelleyebilirsiniz. Azure hizmetleri SKI'ları ve boyutları ekleyene kadar izin verilenler listeniz güncel olabilir. Örneğin, yalnızca Premium v3 S SU'larına izin vermek üretimde anlamlı olabilir, ancak üretim dışı ortamlarda aynı şablonu kullanmanıza engel olur.

  • Parametreleriniz için açıklamalar sağlamak iyi bir uygulamadır. Açıklamaları yararlı hale etmeye ve şablonun parametre değerlerinin ne olması gerektiğini hakkında önemli bilgileri sağlamayı deneyin.

    Bazı bilgiler için // yorumları da kullanabilirsiniz.

  • Parametre bildirimlerini şablon dosyasının herhangi bir yerine koyabilirsiniz, ancak Bicep kodunuzun kolayca okunmalarını için bunları dosyanın en üstüne koymak genellikle iyi bir fikirdir.

  • Adlandırmayı kontrol altına alan parametreler için minimum ve maksimum karakter uzunluğunu belirtmek iyi bir uygulamadır. Bu sınırlamalar daha sonra dağıtım sırasında hatalardan kaçınmaya yardımcı olur.

Bicep parametreleri hakkında daha fazla bilgi için bkz. Bicep'te Parametreler.

Değişkenler

  • Bir değişken tanımladığınız zaman veri türü gerekli değildir. Değişkenler, çözümleme değerinden türü çıkartır.

  • Bicep işlevlerini kullanarak değişken oluşturabilirsiniz.

  • Bicep dosyanız içinde bir değişken tanımlandıktan sonra değişkenin adını kullanarak değere başvurabilirsiniz.

Bicep değişkenleri hakkında daha fazla bilgi için bkz. Bicep'te Değişkenler.

Adlar

  • veya gibi adlar için küçük büyük harf myVariableName myResource kullanın.

  • uniqueString() işlevi, genel olarak benzersiz kaynak adları oluşturmak için kullanışlıdır. Aynı parametreleri sağlarken, her zaman aynı dizeyi döndürür. Kaynak grubu kimliğinin geçilmesi, dizenin aynı kaynak grubuna yapılan her dağıtımda aynı olduğu, ancak farklı kaynak gruplarına veya aboneliklere dağıttığınız zaman farklı olduğu anlamına gelir.

  • Bazen işlev uniqueString() bir sayıyla baş alan dizeler oluşturur. Depolama hesapları gibi bazı Azure kaynakları, adlarının sayılarla başlamasına izin vermez. Bu gereksinim, kaynak adları oluşturmak için dize ilişkilendirme kullanmanın iyi bir fikir olduğu anlamına gelir. Benzersiz dizeye bir ön ek eklemek için kullanabilirsiniz.

  • Kaynak adları oluşturmak için şablon ifadelerini kullanmak genellikle iyi bir fikirdir. Birçok Azure kaynak türü, izin verilen karakterler ve adlarının uzunluğuyla ilgili kurallara sahip olur. Şablona kaynak adlarının oluşturulmasını eklemek, şablonu kullanan herkesin bu kuralları kendi kendilerine izlemesi gerek zorunda olmadığını gösterir.

  • Sembolik name bir ad kullanmaktan kaçının. Sembolik ad, kaynağın adını değil kaynağı temsil eder. Örneğin, bunun yerine:

    resource cosmosDBAccountName 'Microsoft.DocumentDB/databaseAccounts@2021-04-15' = {
    

    bunu kullanın:

    resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2021-04-15' = {
    
  • Son eklerin kullanımıyla değişkenleri ve parametreleri ayırt etmekten kaçının.

Kaynak tanımları

  • Karmaşık ifadeleri doğrudan kaynak özelliklerine eklemek yerine değişkenleri kullanarak ifadeleri içerir. Bu yaklaşım, Bicep dosyanızı daha kolay okunur ve anlaşılır hale getirir. Kaynak tanımlarınızı mantıkla karışıklığa neden olan bir şekilde ortadan kaldırır.

  • Kaynakların nasıl davranacağının varsayımlarını yapmak yerine çıkış olarak kaynak özelliklerini kullanmayı deneyin. Örneğin, bir App Service uygulamasının URL'sini çıkış olarak göstermeniz gerekirse, URL için bir dize oluşturmak yerine uygulamanın defaultHostname özelliğini kullanın. Bazen bu varsayımlar farklı ortamlarda doğru değildir veya kaynaklar çalışma yollarında değişiklik gösterir. Kaynağın size kendi özelliklerini söylemesi daha güvenlidir.

  • Her kaynak için son API sürümünü kullanmak iyi bir fikirdir. Azure hizmetlerde yeni özellikler bazen yalnızca daha yeni API sürümlerinde kullanılabilir.

  • Mümkün olduğunda Bicep dosyanıza reference ve resourceId işlevlerini kullanmaktan kaçının. Bicep'te sembolik adı kullanarak herhangi bir kaynağa erişebilirsiniz. Örneğin, toyDesignDocumentsStorageAccount sembolik adıyla bir depolama hesabı tanımlarsanız, ifadesini kullanarak kaynak kimliğine toyDesignDocumentsStorageAccount.id erişebilirsiniz. Sembolik adı kullanarak kaynaklar arasında örtülü bir bağımlılık oluşturabilirsiniz.

  • Açık bağımlılıklar yerine örtülü bağımlılıkları kullanmayı tercih eder. Kaynak özelliği kaynaklar arasında açık bir bağımlılık bildirebilirsiniz, ancak genellikle diğer kaynağın özelliklerini sembolik adını dependsOn kullanarak kullanabilirsiniz. Bu, iki kaynak arasında örtülü bir bağımlılık oluşturur ve Bicep'in ilişkinin kendisini yönetmesi için olanak sağlar.

  • Kaynak Bicep dosyasında dağıtıldı değilse anahtar sözcüğünü kullanarak kaynağa sembolik bir başvuru almaya existing devamabilirsiniz.

Alt kaynaklar

  • Çok fazla katmanı iç içe yerleştirmeyi kaçının. çok fazla iç içe yerleştirme, Bicep kodunuzun okunmasını ve birlikte çalışıp çalışılamasını zorlaştırır.

  • Alt kaynaklar için kaynak adları oluşturmaktan kaçının. Bicep'in kaynaklarınız arasındaki ilişkileri anlaya kadar sağladığı avantajları kaybedersiniz. Bunun yerine parent özelliğini veya iç içe yerleştirmeyi kullanın.

Çıkışlar

  • Hassas veriler için çıkış oluşturmamanızı sağlar. Çıkış değerlerine dağıtım geçmişine erişimi olan herkes tarafından erişilebilir. Gizli dizileri işlemeye uygun değildir.

  • Özellik değerlerini çıkışlar aracılığıyla geçirme yerine var olan kaynakların özelliklerini aramak için var olan anahtar sözcüğünü kullanın. Çıkışlar aracılığıyla geçiş yapmak yerine diğer kaynaklara bu şekilde anahtar bakmak en iyi uygulamadır. Her zaman en güncel verileri elde etmek için kullanılır.

Bicep çıkışları hakkında daha fazla bilgi için bkz. Bicep'te Çıkışlar.

Kiracı kapsamları

Kiracı kapsamında ilkeler veya rol atamaları oluşturaaz. Ancak, tüm kuruluş genelinde erişim izni vermek veya ilkeler uygulamak için bu kaynakları kök yönetim grubuna dağıtın.

Sonraki adımlar