Fungsi file untuk Bicep
Artikel ini menjelaskan fungsi Bicep untuk memuat konten dari file eksternal.
loadFileAsBase64
loadFileAsBase64(filePath)
Memuat file sebagai string base64.
Namespace: sys.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
filePath | Ya | string | Jalur ke file yang akan dimuat. Jalurnya relatif terhadap file Bicep yang disebarkan. Ini tidak dapat menyertakan variabel. |
Keterangan
Gunakan fungsi ini ketika Anda memiliki konten biner yang ingin Anda sertakan dalam penyebaran. Daripada mengodekan file secara manual ke string base64 dan menambahkannya ke file Bicep Anda, muat file dengan fungsi ini. File dimuat ketika file Bicep dikompilasi ke templat JSON. Anda tidak dapat menggunakan variabel di jalur file karena belum diselesaikan saat mengkompilasi ke templat. Selama penyebaran, templat JSON berisi konten file sebagai string yang dikodekan secara permanen.
Fungsi ini memerlukan Bicep CLI versi 0.4.X atau yang lebih tinggi.
Ukuran maksimum file yang diizinkan adalah 96 Kb.
Nilai hasil
File sebagai string base64.
loadJsonContent
loadJsonContent(filePath, [jsonPath], [encoding])
Memuat file JSON yang ditentukan sebagai objek Apa pun.
Namespace: sys.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
filePath | Ya | string | Jalur ke file yang akan dimuat. Jalurnya relatif terhadap file Bicep yang disebarkan. Ini tidak dapat menyertakan variabel. |
jsonPath | No | string | Ekspresi JSONPath untuk menentukan bahwa hanya sebagian file yang dimuat. |
pengodean | No | string | Pengodean file. Nilai defaultnya adalah utf-8 . Opsi yang tersedia adalah: iso-8859-1 , us-ascii , utf-16 , utf-16BE , atau utf-8 . |
Keterangan
Gunakan fungsi ini ketika Anda memiliki konten JSON atau konten JSON yang diperkecil yang disimpan dalam file terpisah. Daripada menduplikasi konten JSON dalam file Bicep Anda, muat konten dengan fungsi ini. Anda dapat memuat bagian dari file JSON dengan menentukan jalur JSON. File dimuat ketika file Bicep dikompilasi ke templat JSON. Anda tidak dapat menyertakan variabel dalam jalur file karena belum diselesaikan saat mengkompilasi ke templat. Selama penyebaran, templat JSON berisi konten file sebagai string yang dikodekan secara permanen.
Dalam Visual Studio Code, properti objek yang dimuat menyediakan intellisense. Misalnya, Anda dapat membuat file dengan nilai untuk dibagikan ke banyak file Bisep. Sebuah contoh ditunjukkan dalam artikel ini.
Fungsi ini memerlukan Bicep CLI versi 0.7.X atau yang lebih tinggi.
Ukuran maksimum file yang diizinkan adalah 1.048.576 karakter, termasuk akhir baris.
Nilai hasil
Konten file sebagai objek Apa pun.
Contoh
Contoh berikut membuat file JSON yang berisi nilai untuk grup keamanan jaringan.
{
"description": "Allows SSH traffic",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "22",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 100,
"direction": "Inbound"
}
Anda memuat file itu dan mengonversinya menjadi objek JSON. Anda menggunakan objek untuk menetapkan nilai ke sumber daya.
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
}
]
}
}
Anda dapat menggunakan kembali file nilai dalam file Bicep lain yang menyebarkan grup keamanan jaringan.
loadYamlContent
loadYamlContent(filePath, [pathFilter], [encoding])
Memuat file YAML yang ditentukan sebagai objek Apa pun.
Namespace: sys.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
filePath | Ya | string | Jalur ke file yang akan dimuat. Jalurnya relatif terhadap file Bicep yang disebarkan. Ini tidak dapat menyertakan variabel. |
pathFilter | No | string | Filter jalur adalah ekspresi JSONPath untuk menentukan bahwa hanya sebagian file yang dimuat. |
pengodean | No | string | Pengodean file. Nilai defaultnya adalah utf-8 . Opsi yang tersedia adalah: iso-8859-1 , us-ascii , utf-16 , utf-16BE , atau utf-8 . |
Keterangan
Gunakan fungsi ini saat Anda memiliki konten YAML atau konten YAML minified yang disimpan dalam file terpisah. Daripada menduplikasi konten YAML dalam file Bicep Anda, muat konten dengan fungsi ini. Anda dapat memuat bagian dari file YAML dengan menentukan filter jalur. File dimuat ketika file Bicep dikompilasi ke templat YAML. Anda tidak dapat menyertakan variabel dalam jalur file karena belum diselesaikan saat mengkompilasi ke templat. Selama penyebaran, templat YAML berisi konten file sebagai string yang dikodekan secara permanen.
Dalam Visual Studio Code, properti objek yang dimuat menyediakan intellisense. Misalnya, Anda dapat membuat file dengan nilai untuk dibagikan ke banyak file Bisep. Sebuah contoh ditunjukkan dalam artikel ini.
Fungsi ini memerlukan Bicep CLI versi 0.16.X atau yang lebih tinggi.
Ukuran maksimum file yang diizinkan adalah 1.048.576 karakter, termasuk akhir baris.
Nilai hasil
Konten file sebagai objek Apa pun.
Contoh
Contoh berikut membuat file YAML yang berisi nilai untuk grup keamanan jaringan.
description: "Allows SSH traffic"
protocol: "Tcp"
sourcePortRange: "*"
destinationPortRange: "22"
sourceAddressPrefix: "*"
destinationAddressPrefix: "*"
access: "Allow"
priority: 100
direction: "Inbound"
Anda memuat file itu dan mengonversinya menjadi objek JSON. Anda menggunakan objek untuk menetapkan nilai ke sumber daya.
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
}
]
}
}
Anda dapat menggunakan kembali file nilai dalam file Bicep lain yang menyebarkan grup keamanan jaringan.
loadTextContent
loadTextContent(filePath, [encoding])
Memuat konten file tertentu sebagai string.
Namespace: sys.
Parameter
Parameter | Wajib | Tipe | Deskripsi |
---|---|---|---|
filePath | Ya | string | Jalur ke file yang akan dimuat. Jalurnya relatif terhadap file Bicep yang disebarkan. Ini tidak dapat berisi variabel. |
pengodean | No | string | Pengodean file. Nilai defaultnya adalah utf-8 . Opsi yang tersedia adalah: iso-8859-1 , us-ascii , utf-16 , utf-16BE , atau utf-8 . |
Keterangan
Gunakan fungsi ini saat Anda memiliki konten yang disimpan dalam file terpisah. Anda dapat memuat konten daripada menduplikasinya di file Bicep Anda. Misalnya, Anda dapat memuat skrip penyebaran dari file. File dimuat ketika file Bicep dikompilasi ke templat JSON. Anda tidak dapat menyertakan variabel apa pun dalam jalur file karena belum diselesaikan saat mengkompilasi ke templat. Selama penyebaran, templat JSON berisi konten file sebagai string yang dikodekan secara permanen.
Gunakan fungsi loadJsonContent()
untuk memuat file JSON.
Fungsi ini memerlukan Bicep CLI versi 0.4.X atau yang lebih tinggi.
Ukuran maksimum file yang diizinkan adalah 131.072 karakter, termasuk akhir baris.
Nilai hasil
Konten file berupa string.
Contoh
Contoh berikut memuat skrip dari file dan menggunakannya untuk skrip penyebaran.
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'
}
}
Langkah berikutnya
- Untuk deskripsi bagian-bagian dalam file Bicep, lihat Memahami struktur dan sintaks file Bicep.