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ü
@allowedfazla 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
myVariableNamemyResourcekullanı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
namebir 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.ideriş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ı
dependsOnkullanarak 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
existingdevamabilirsiniz.
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
- Bicep'e giriş için bkz. Bicep hızlı başlangıç.
- Bicep dosyasının bölümleri hakkında bilgi için bkz. Bicep dosyalarının yapısını ve söz dizimlerini anlama.