Aracılığıyla paylaş


Bicep ortamınızı yapılandırma

Bicep, bicepconfig.json adlı isteğe bağlı bir yapılandırma dosyasını destekler. Bu dosyanın içinde, Bicep geliştirme deneyiminizi özelleştiren değerler ekleyebilirsiniz. Bu dosya varsayılan yapılandırma dosyasıyla birleştirilir. Daha fazla bilgi için bkz . Birleştirme işlemini anlama. Bir yapılandırmayı özelleştirmek için, aynı dizinde veya Bicep dosyalarınızın üst dizininde bir yapılandırma dosyası oluşturun. bicepconfig.json dosyaları içeren birden çok üst dizin varsa, Bicep en yakın dizinden yapılandırmayı kullanır. Daha fazla bilgi için bkz . Dosya çözümleme işlemini anlama.

Bicep uzantısı ayarlarını yapılandırmak için bkz . Visual Studio Code ve Bicep uzantısı.

Visual Studio Code'da yapılandırma dosyası oluşturma

Yapılandırma dosyasını oluşturmak için herhangi bir metin düzenleyicisi kullanabilirsiniz.

Visual Studio Code'da bicepconfig.json dosyası oluşturmak için Komut Paleti'ni ([CTRL/CMD]+[SHIFT]+P) açın ve ardından Bicep: Bicep Yapılandırma Dosyası Oluştur'u seçin. Daha fazla bilgi için bkz . Bicep yapılandırma dosyası oluşturma.

Visual Studio Code'da Bicep yapılandırma dosyasının nasıl oluşturulacağını gösteren ekran görüntüsü.

Visual Studio Code için Bicep uzantısı, bicepconfig.json dosyalar için IntelliSense'i destekler. Kullanılabilir özellikleri ve değerleri bulmak için IntelliSense'i kullanın.

_bicepconfig.json_ dosya yapılandırmasını destekleyen IntelliSense'in ekran görüntüsü.

Birleştirme işlemini anlama

bicepconfig.json dosyası, varsayılan yapılandırma dosyasıyla özyinelemeli bir alt-yukarı birleştirme işleminden geçer. Birleştirme işlemi sırasında Bicep her iki yapılandırmadaki her yolu inceler. Varsayılan yapılandırmada bir yol yoksa, yol ve ilişkili değeri nihai sonuda eklenir. Buna karşılık, varsayılan yapılandırmada farklı bir değere sahip bir yol varsa, bicepconfig.json değeri birleştirilmiş sonuçta önceliklidir.

Varsayılan yapılandırmanın aşağıdaki gibi tanımlandığı bir senaryo düşünün:

{
  "cloud": {
    ...
    "credentialPrecedence": [
      "AzureCLI",
      "AzurePowerShell"
    ]
  },
  "moduleAliases": {
    "ts": {},
    "br": {
      "public": {
        "registry": "mcr.microsoft.com",
        "modulePath": "bicep"
      }
    }
  },
  ...
}

bicepconfig.json aşağıdaki gibi tanımlanır:

{
  "cloud": {
    "credentialPrecedence": [
      "AzurePowerShell",
      "AzureCLI"
    ]
  },
  "moduleAliases": {
    "br": {
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    }
  }
}

Sonuçta elde edilen birleştirilmiş yapılandırma şöyle olacaktır:

{
  "cloud": {
    ...
    "credentialPrecedence": [
      "AzurePowerShell",
      "AzureCLI"
    ]
  },
  "moduleAliases": {
    "ts": {},
    "br": {
      "public": {
        "registry": "mcr.microsoft.com",
        "modulePath": "bicep"
      },
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    }
  },
  ...
}

Yukarıdaki örnekte değeri cloud.credentialPrecedence değiştirilirken ve cloud.moduleAliases.CoreModules değerleri cloud.moduleAliases.ContosoRegistry birleştirilmiş yapılandırmaya eklenir.

Dosya çözümleme işlemini anlama

bicepconfig.json dosyası, Bicep dosyalarınızın aynı dizinine veya üst dizinine yerleştirilebilir. bicepconfig.json dosyaları içeren birden çok üst dizin varsa, Bicep en yakın dizinden yapılandırma dosyasını kullanır. Örneğin, her klasörün bir bicepconfig.json dosyası olduğu belirtilen klasör yapısında:

Birden çok üst klasördeki _bicepconfig.json_ dosyasını çözümlemeyi gösteren diyagram.

klasörde main.bicep derlerseniz, klasördeki bicepconfig.json dosyası child kullanılır.child Klasördeki ve klasördeki root yapılandırma dosyaları parent yoksayılır. child Klasör bir yapılandırma dosyası içermiyorsa, Bicep klasörde ve ardından root klasörde bir yapılandırma parent arar. Klasörlerin hiçbirinde yapılandırma dosyası bulunmazsa, Bicep varsayılan değerleri kullanır.

Birden çok modülü çağıran bicep dosyası bağlamında, her modül en yakın bicepconfig.json kullanılarak derlemeden geçer. Ardından ana Bicep dosyası ilgili bicepconfig.json ile derlenmiş olur. Aşağıdaki senaryoda, modA.bicep klasöründe bulunan A bicepconfig.json kullanılarak derlenmiş, modB.bicep klasördeki B bicepconfig.json ile derlenmiş ve son olarak, main.bicep klasöründeki bicepconfig.jsonroot kullanılarak derlenmiş.

Modül senaryosuyla birden çok üst klasör içinde bulunan _bicepconfig.json_ dosyasını gösteren diyagram.

ve klasörlerinde A bir bicepconfig.json dosyası olmadığında, üç Bicep dosyası da root klasörde bulunan bicepconfig.json kullanılarak derlenir.B bicepconfig.json klasörlerin hiçbirinde yoksa, derleme varsayılan değerleri kullanır.

Bicep modüllerini yapılandırma

Modüllerle çalışırken, modül yolları için diğer adlar ekleyebilirsiniz. Karmaşık yolları yinelemeniz gerekmeyen bu diğer adlar Bicep dosyanızı basitleştirir. Ayrıca, Bicep CLI ve Visual Studio Code'dan Azure'da kimlik doğrulaması yapmak için bulut profili ve kimlik bilgisi önceliği de yapılandırabilirsiniz. Kimlik bilgileri, kayıt defterlerine modül yayımlamak ve kaynak ekleme işlevi kullanılırken dış modülleri yerel önbelleğe geri yüklemek için kullanılır. Daha fazla bilgi için bkz . Bicep yapılandırmasına modül ayarları ekleme.

Linter kurallarını yapılandırma

Bicep linter, Söz dizimi hataları ve en iyi yöntem ihlalleri için Bicep dosyalarını denetler. Bicep dosyasının doğrulanmasıyla ilgili varsayılan ayarları geçersiz kılmak için bir bicepconfig.json dosyasını değiştirebilirsiniz. Daha fazla bilgi için bkz . Bicep yapılandırmasına linter ayarları ekleme.

Deneysel özellikleri etkinleştirme

Deneysel özellikleri etkinleştirmek için bicepconfig.json dosyanıza aşağıdaki bölümü ekleyebilirsiniz. Deneysel özelliklerin kullanılması, dil sürümü 2.0 kod oluşturmayı otomatik olarak etkinleştirir.

'assertions' ve 'testFramework' özelliklerini etkinleştirme örneği aşağıda verilmiştır.

{
  "experimentalFeaturesEnabled": {
    "assertions": true,
    "testFramework": true
  }
}

Bicep deneysel özellikleri hakkında daha fazla bilgi için bkz . Deneysel Özellikler .

Sonraki adımlar