Bicep yapılandırma dosyasına modül ayarları ekleme

bicepconfig.json bir dosyada modül yolları için diğer adlar oluşturabilir ve modülleri yayımlama ve geri yükleme için profil ve kimlik bilgisi önceliğini yapılandırabilirsiniz.

Bu makalede, Bicep modülleriyle çalışmak için kullanılabilecek ayarlar açıklanmaktadır.

Modüller için diğer adlar

Modüllere bağlanma yolunu basitleştirmek için yapılandırma dosyasında diğer adlar oluşturun. Diğer ad, modül kayıt defterine veya şablon belirtimlerini içeren bir kaynak grubuna başvurur.

Yapılandırma dosyasının için moduleAliasesbir özelliği vardır. Bu özellik, tanımladığınız tüm diğer adları içerir. Bu özellik altında, diğer adlar bir kayıt defterine mi yoksa şablon belirtimine mi başvurdıklarına göre bölünür.

Bicep kayıt defteri için diğer ad oluşturmak için bir br özellik ekleyin. Şablon belirtiminin diğer adını eklemek için özelliğini kullanınts.

{
  "moduleAliases": {
    "br": {
      <add-registry-aliases>
    },
    "ts": {
      <add-template-specs-aliases>
    }
  }
}

özelliği içinde br , ihtiyacınız olan kadar diğer ad ekleyin. Her diğer ad için bir ad ve aşağıdaki özellikleri verin:

  • kayıt defteri (gerekli): kayıt defteri oturum açma sunucusu adı
  • modulePath (isteğe bağlı): modüllerin depolandığı kayıt defteri deposu

özelliği içinde ts , ihtiyacınız olan kadar diğer ad ekleyin. Her diğer ad için bir ad ve aşağıdaki özellikleri verin:

  • subscription (gerekli): Şablon belirtimlerini barındıran abonelik kimliği
  • resourceGroup (gerekli): Şablon belirtimlerini içeren kaynak grubunun adı

Aşağıdaki örnekte, bir modül kayıt defteri için iki diğer adı tanımlayan bir yapılandırma dosyası ve şablon belirtimleri içeren bir kaynak grubu için bir diğer ad gösterilmektedir.

{
  "moduleAliases": {
    "br": {
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    },
    "ts": {
      "CoreSpecs": {
        "subscription": "00000000-0000-0000-0000-000000000000",
        "resourceGroup": "CoreSpecsRG"
      }
    }
  }
}

Modül başvurusunda diğer ad kullanırken şu biçimleri kullanmanız gerekir:

br/<alias>:<file>:<tag>
ts/<alias>:<file>:<tag>

Diğer adlarınızı dosyanın kendisini değil modülleri içeren klasöre veya kaynak grubuna tanımlayın. Dosya adı modül başvurusuna eklenmelidir.

Diğer adlar olmadan, kayıt defterindeki bir modüle tam yolu ile bağlantı kurarsınız.

module stgModule 'br:contosoregistry.azurecr.io/bicep/modules/core/storage:v1' = {

Diğer adlarla, kayıt defterinin diğer adını kullanarak bağlantıyı basitleştirebilirsiniz.

module stgModule 'br/ContosoRegistry:bicep/modules/core/storage:v1' = {

Alternatif olarak, kayıt defteri ve modül yolunu belirten diğer adı kullanarak bağlantıyı basitleştirebilirsiniz.

module stgModule  'br/CoreModules:storage:v1' = {

Şablon belirtimi için şunu kullanın:

module stgModule  'ts/CoreSpecs:storage:v1' = {

Ortak modül kayıt defteri için bir diğer ad önceden tanımlanmıştır. Genel modüle başvurmak için şu biçimi kullanabilirsiniz:

br/public:<file>:<tag>

bicepconfig.json dosyasında genel modül kayıt defteri diğer adı tanımını geçersiz kılabilirsiniz:

{
  "moduleAliases": {
    "br": {
      "public": {
        "registry": "<your_module_registry>",
        "modulePath": "<optional_module_path>"
      }
    }
  }
}

Profilleri ve kimlik bilgilerini yapılandırma

Modülleri özel modül kayıt defterine yayımlamak veya dış modülleri yerel önbelleğe geri yüklemek için hesabın kayıt defterine erişmek için doğru izinlere sahip olması gerekir. Kayıt defterinde kimlik doğrulaması yapmak için Ve'yi Bicep yapılandırma dosyasında el ile yapılandırabilirsiniz currentProfilecredentialPrecedence.

{
  "cloud": {
    "currentProfile": "AzureCloud",
    "profiles": {
      "AzureCloud": {
        "resourceManagerEndpoint": "https://management.azure.com",
        "activeDirectoryAuthority": "https://login.microsoftonline.com"
      },
      "AzureChinaCloud": {
        "resourceManagerEndpoint": "https://management.chinacloudapi.cn",
        "activeDirectoryAuthority": "https://login.chinacloudapi.cn"
      },
      "AzureUSGovernment": {
        "resourceManagerEndpoint": "https://management.usgovcloudapi.net",
        "activeDirectoryAuthority": "https://login.microsoftonline.us"
      }
    },
    "credentialPrecedence": [
      "AzureCLI",
      "AzurePowerShell"
    ]
  }
}

Kullanılabilir profiller şunlardır:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment

Varsayılan olarak, Bicep Azure CLI veya Azure PowerShell'de kimliği doğrulanmış kullanıcının profilini ve kimlik bilgilerini kullanır AzureCloud . Bu profilleri özelleştirebilir veya şirket içi ortamlarınız için yeni profiller ekleyebilirsiniz. Bir modülü gibi AzureUSGovernmentulusal bir bulut ortamına yayımlamak veya geri yüklemek istiyorsanız, Azure CLI'da bu bulut profilini seçmiş olsanız bile ayarlamanız "currentProfile": "AzureUSGovernment" gerekir. Bicep, Azure CLI ayarlarına göre geçerli bulut profilini otomatik olarak belirleyemiyor.

Bicep, kimlik doğrulaması yapmak için Azure.Identity SDK'sını kullanır. Kullanılabilir kimlik bilgisi türleri şunlardır:

Not

Vscode içindeki Bicep deploy komutu kimlik doğrulaması için Azure Hesabı uzantısını kullanır. bicepconfig.json bulut profillerini kullanmaz.

Sonraki adımlar