Kaynakları tanımlama

Tamamlandı

Bicep şablonları, dağıtılacak Azure kaynaklarını tanımlayan, sizin oluşturduğunuz dosyalardır.

Oyuncak şirketiniz, ürün lansmanları için yeniden kullanılabilir bir Bicep şablonu oluşturmanızı istiyor. Şablonun bir Azure depolama hesabı ve Azure Uygulaması Service kaynakları dağıtması gerekir. Bu kaynak, lansman sırasında her yeni ürünün pazarlaması için kullanılacaktır.

Bu ünitede Bicep şablonunda kaynak tanımlamayı, kaynak adlarının nasıl çalıştığını ve birbiriyle ilişkili kaynakları nasıl oluşturabileceğinizi öğreneceksiniz.

Dekont

Bu ünitedeki komutlar kavramları göstermek için gösterilir. Komutları henüz çalıştırmayın. Burada öğrendiklerini yakında öğreneceksin.

Kaynak tanımlama

Bicep şablonlarında yapmanız gereken temel şey Azure kaynaklarınızı tanımlamaktır. Aşağıda, Bicep'te tipik bir kaynak tanımının nasıl göründüğüne bir örnek verilmiştir. Bu örnek adlı toylaunchstoragebir depolama hesabı oluşturur.

resource storageAccount 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: 'toylaunchstorage'
  location: 'westus3'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

Şimdi bu kaynak tanımının bazı önemli bölümlerine yakından bakalım:

  • resource Başlangıçtaki anahtar sözcük, Bicep'e bir kaynak tanımlamak üzere olduğunuzu bildirir.

  • Ardından kaynağa sembolik bir ad verirsiniz. Örnekte kaynağın sembolik adı şeklindedir storageAccount. Sembolik adlar, Kaynağa başvurmak için Bicep içinde kullanılır ancak Azure'da gösterilmez.

  • Microsoft.Storage/storageAccounts@2022-09-01 kaynağın kaynak türü ve API sürümüdür . Microsoft.Storage/storageAccounts Bicep'e bir Azure depolama hesabı bildirdiğini bildirir. Tarih2022-09-01, Bicep'in kaynağı oluştururken kullandığı Azure Depolama API sürümüdür.

    Bahşiş

    Visual Studio Code için Bicep uzantısı, oluşturduğunuz kaynakların kaynak türlerini ve API sürümlerini bulmanıza yardımcı olur. ARM şablonlarını biliyorsanız, API sürümünün orada kullandığınız sürümle de eşleşeceğini unutmayın.

  • Depolama hesabının Azure'da atanacağı ad olan bir kaynak adı bildirmeniz gerekir. Anahtar sözcüğünü name kullanarak bir kaynak adı ayarlayacaksınız.

    Önemli

    Sembolik adlar yalnızca Bicep şablonu içinde kullanılır ve Azure'da görünmez. Kaynak adları Azure'da görünür.

  • Ardından kaynağın konumu, SKU'su (fiyatlandırma katmanı) ve türü gibi diğer ayrıntılarını ayarlayacaksınız. Ayrıca, her kaynak türü için farklı özellikler tanımlayabilirsiniz. Farklı API sürümleri de farklı özelliklere neden olabilir. Bu örnekte, depolama hesabının erişim katmanını olarak Hotayarlıyoruz.

Bahşiş

Kaynak adları genellikle tüm Azure'da maksimum uzunluklar, izin verilen karakterler ve benzersizlik gibi izlemeniz gereken kurallara sahiptir. Kaynak adlarının gereksinimleri her Azure kaynak türü için farklıdır. Adlandırma kısıtlamalarını ve gereksinimleri şablonunuza eklemeden önce anladığınızdan emin olun.

Kaynaklar birbirine bağlı olduğunda ne olur?

Bicep şablonu genellikle birkaç kaynak içerir. Genellikle, başka bir kaynağa bağımlı olmak için bir kaynağa ihtiyacınız vardır. Başka bir kaynak tanımlayabilmeniz için bir kaynaktan bazı bilgileri ayıklamanız gerekebilir. Ya da bir web uygulaması dağıtıyorsanız, bir uygulama ekleyebilmek için önce sunucu altyapısını oluşturmanız gerekir. Bu ilişkiler bağımlılık olarak adlandırılır.

Oyuncak ürünü başlatmaya yardımcı olacak şablon için bir App Service uygulaması dağıtmanız gerekir, ancak bir App Service uygulaması oluşturmak için önce bir App Service planı oluşturmanız gerekir. App Service planı sunucu barındırma kaynaklarını temsil eder ve aşağıdaki örnekte olduğu gibi bildirlenmiştir:

resource appServicePlan 'Microsoft.Web/serverFarms@2022-03-01' = {
  name: 'toy-product-launch-plan'
  location: 'westus3'
  sku: {
    name: 'F1'
  }
}

Bu kaynak tanımı, Bicep'e kaynak türüne Microsoft.Web/serverFarmssahip bir App Service planı dağıtmak istediğinizi söylüyor. Plan kaynağı olarak adlandırılır toy-product-launch-planve Batı ABD 3 bölgesine dağıtılır. App Service'in ücretsiz katmanı olan F1 fiyatlandırma SKU'su kullanır.

App Service planını bildirdiğinize göre, sonraki adım uygulamayı bildirmektir:

resource appServiceApp 'Microsoft.Web/sites@2022-03-01' = {
  name: 'toy-product-launch-1'
  location: 'westus3'
  properties: {
    serverFarmId: appServicePlan.id
    httpsOnly: true
  }
}

Bu şablon, Azure'a uygulamayı oluşturduğunuz planda barındırmasını sağlar. Planın tanımının app service planının sembolik adını şu satırda içerdiğine dikkat edin: serverFarmId: appServicePlan.id. Bu satır, Bicep'in özelliğini kullanarak id App Service planının kaynak kimliğini alacağı anlamına gelir. Etkili bir şekilde şöyle ifade edilir: Bu uygulamanın sunucu grubu kimliği, daha önce tanımlanan App Service planının kimliğidir.

Bahşiş

Azure'da kaynak kimliği her kaynak için benzersiz bir tanımlayıcıdır. Kaynak kimliği Azure abonelik kimliğini, kaynak grubu adını ve kaynak adını ve diğer bazı bilgileri içerir.

Azure, uygulamanın sembolik adına başvuran bir özelliğe sahip uygulama kaynağını bildirerek App Service uygulamasıyla plan arasındaki örtük bağımlılığı anlar. Kaynakları dağıttığında Azure, uygulamayı dağıtmaya başlamadan önce planı tamamen dağıttığından emin olur.