Bicep için dosya işlevleri

Bu makalede, dış dosyalardan içerik yüklemeye yönelik Bicep işlevleri açıklanmaktadır.

loadFileAsBase64

loadFileAsBase64(filePath)

Dosyayı base64 dizesi olarak yükler.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
Filepath Yes Dize Yüklenecek dosyanın yolu. Yol, dağıtılan Bicep dosyasına göredir. Değişkenleri içeremez.

Açıklamalar

Dağıtıma eklemek istediğiniz ikili içeriğiniz varsa bu işlevi kullanın. Dosyayı el ile base64 dizesine kodlamak ve Bicep dosyanıza eklemek yerine, dosyayı bu işlevle yükleyin. Bicep dosyası bir JSON şablonuna derlendiğinde dosya yüklenir. Şablona derleme sırasında çözümlenmedikleri için dosya yolunda değişkenleri kullanamazsınız. Dağıtım sırasında JSON şablonu dosyanın içeriğini sabit kodlanmış bir dize olarak içerir.

Bu işlev Için Bicep CLI sürüm 0.4.X veya üzeri gerekir.

Dosyanın izin verilen en büyük boyutu 96 Kb'tır.

Dönüş değeri

Base64 dizesi olarak dosya.

loadJsonContent

loadJsonContent(filePath, [jsonPath], [encoding])

Belirtilen JSON dosyasını Herhangi bir nesne olarak yükler.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
Filepath Yes Dize Yüklenecek dosyanın yolu. Yol, dağıtılan Bicep dosyasına göredir. Değişkenleri içeremez.
jsonPath Hayır Dize Dosyanın yalnızca bir bölümünün yüklendiğini belirten JSONPath ifadesi.
encoding Hayır Dize Dosya kodlama. Varsayılan değer şudur: utf-8. Kullanılabilir seçenekler şunlardır: iso-8859-1, us-ascii, utf-16, utf-16BEveya utf-8.

Açıklamalar

Ayrı bir dosyada depolanan JSON içeriğiniz veya küçültüldü JSON içeriğiniz varsa bu işlevi kullanın. Bicep dosyanızdaki JSON içeriğini yinelemek yerine içeriği bu işlevle yükleyin. Bir JSON yolu belirterek JSON dosyasının bir bölümünü yükleyebilirsiniz. Bicep dosyası JSON şablonuna derlendiğinde dosya yüklenir. Şablona derleme sırasında çözümlenmedikleri için dosya yoluna değişken ekleyemezsiniz. Dağıtım sırasında JSON şablonu dosyanın içeriğini sabit kodlanmış bir dize olarak içerir.

VS Code'da, yüklenen nesnenin özellikleri intellisense kullanılabilir. Örneğin, birçok Bicep dosyasında paylaşmak üzere değerleri olan bir dosya oluşturabilirsiniz. Bu makalede bir örnek gösterilmiştir.

Bu işlev Için Bicep CLI sürüm 0.7.X veya üzeri gerekir.

Dosyanın izin verilen en büyük boyutu, satır sonları dahil olmak üzere 1.048.576 karakterdir.

Dönüş değeri

Dosyanın herhangi bir nesne olarak içeriği.

Örnekler

Aşağıdaki örnek, bir ağ güvenlik grubu için değerler içeren bir JSON dosyası oluşturur.

{
  "description": "Allows SSH traffic",
  "protocol": "Tcp",
  "sourcePortRange": "*",
  "destinationPortRange": "22",
  "sourceAddressPrefix": "*",
  "destinationAddressPrefix": "*",
  "access": "Allow",
  "priority": 100,
  "direction": "Inbound"
}

Bu dosyayı yükler ve bir JSON nesnesine dönüştürürsiniz. Kaynağa değer atamak için nesnesini kullanırsınız.

param location string = resourceGroup().location

var nsgconfig = loadJsonContent('nsg-security-rules.json')

resource newNSG 'Microsoft.Network/networkSecurityGroups@2023-11-01' = {
  name: 'example-nsg'
  location: location
  properties: {
    securityRules: [
      {
        name: 'SSH'
        properties: nsgconfig
      }
    ]
  }
}

Bir ağ güvenlik grubu dağıtan diğer Bicep dosyalarındaki değer dosyasını yeniden kullanabilirsiniz.

loadYamlContent

loadYamlContent(filePath, [pathFilter], [encoding])

Belirtilen YAML dosyasını Herhangi bir nesne olarak yükler.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
Filepath Yes Dize Yüklenecek dosyanın yolu. Yol, dağıtılan Bicep dosyasına göredir. Değişkenleri içeremez.
pathFilter Hayır Dize Yol filtresi, dosyanın yalnızca bir bölümünün yüklendiğini belirten bir JSONPath ifadesidir.
encoding Hayır Dize Dosya kodlama. Varsayılan değer şudur: utf-8. Kullanılabilir seçenekler şunlardır: iso-8859-1, us-ascii, utf-16, utf-16BEveya utf-8.

Açıklamalar

Ayrı bir dosyada depolanan YAML içeriğiniz veya küçültülmiş YAML içeriğiniz varsa bu işlevi kullanın. Bicep dosyanızdaki YAML içeriğini yinelemek yerine içeriği bu işlevle yükleyin. Yol filtresi belirterek YAML dosyasının bir bölümünü yükleyebilirsiniz. Bicep dosyası YAML şablonuna derlendiğinde dosya yüklenir. Şablona derleme sırasında çözümlenmedikleri için dosya yoluna değişken ekleyemezsiniz. Dağıtım sırasında YAML şablonu dosyanın içeriğini sabit kodlanmış bir dize olarak içerir.

VS Code'da, yüklenen nesnenin özellikleri intellisense kullanılabilir. Örneğin, birçok Bicep dosyasında paylaşmak üzere değerleri olan bir dosya oluşturabilirsiniz. Bu makalede bir örnek gösterilmiştir.

Bu işlev, Bicep CLI sürüm 0.16.X veya üzerini gerektirir.

Dosyanın izin verilen en büyük boyutu, satır sonları dahil olmak üzere 1.048.576 karakterdir.

Dönüş değeri

Dosyanın herhangi bir nesne olarak içeriği.

Örnekler

Aşağıdaki örnek, bir ağ güvenlik grubu için değerler içeren bir YAML dosyası oluşturur.

description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"

Bu dosyayı yükler ve bir JSON nesnesine dönüştürürsiniz. Kaynağa değer atamak için nesnesini kullanırsınız.

param location string = resourceGroup().location

var nsgconfig = loadYamlContent('nsg-security-rules.yaml')

resource newNSG 'Microsoft.Network/networkSecurityGroups@2023-11-01' = {
  name: 'example-nsg'
  location: location
  properties: {
    securityRules: [
      {
        name: 'SSH'
        properties: nsgconfig
      }
    ]
  }
}

Bir ağ güvenlik grubu dağıtan diğer Bicep dosyalarındaki değer dosyasını yeniden kullanabilirsiniz.

loadTextContent

loadTextContent(filePath, [encoding])

Belirtilen dosyanın içeriğini dize olarak yükler.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
Filepath Yes Dize Yüklenecek dosyanın yolu. Yol, dağıtılan Bicep dosyasına göredir. Değişken içeremez.
encoding Hayır Dize Dosya kodlama. Varsayılan değer şudur: utf-8. Kullanılabilir seçenekler şunlardır: iso-8859-1, us-ascii, utf-16, utf-16BEveya utf-8.

Açıklamalar

Ayrı bir dosyada depolanan içeriğiniz varsa bu işlevi kullanın. İçeriği Bicep dosyanıza çoğaltmak yerine yükleyebilirsiniz. Örneğin, bir dosyadan dağıtım betiği yükleyebilirsiniz. Bicep dosyası JSON şablonuna derlendiğinde dosya yüklenir. Şablona derlenirken çözümlenmedikleri için dosya yoluna herhangi bir değişken ekleyemezsiniz. Dağıtım sırasında JSON şablonu dosyanın içeriğini sabit kodlanmış bir dize olarak içerir.

loadJsonContent() JSON dosyalarını yüklemek için işlevini kullanın.

Bu işlev Için Bicep CLI sürüm 0.4.X veya üzeri gerekir.

Dosyanın izin verilen en büyük boyutu, satır sonları da dahil olmak üzere 131.072 karakterdir.

Dönüş değeri

Dize olarak dosyanın içeriği.

Örnekler

Aşağıdaki örnek bir dosyadan betik yükler ve bunu bir dağıtım betiği için kullanır.

resource exampleScript 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
  name: 'exampleScript'
  location: resourceGroup().location
  kind: 'AzurePowerShell'
  identity: {
    type: 'UserAssigned'
    userAssignedIdentities: {
      '/subscriptions/{sub-id}/resourcegroups/{rg-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{id-name}': {}
    }
  }
  properties: {
    azPowerShellVersion: '8.3'
    scriptContent: loadTextContent('myscript.ps1')
    retentionInterval: 'P1D'
  }
}

Sonraki adımlar

  • Bicep dosyasındaki bölümlerin açıklaması için bkz . Bicep dosyalarının yapısını ve söz dizimini anlama.