Bicep คืออะไร
ตอนนี้ทีมของคุณเข้าใจวิธีการทํางานของ Azure Resource Manager คุณตัดสินใจที่จะใช้เทมเพลต ARM สําหรับการเตรียมใช้งานทรัพยากรของคุณ คุณเข้าใจว่าคุณสามารถเขียนเทมเพลต ARM ได้สองวิธี: โดยใช้ JSON หรือโดยใช้ Bicep คุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเทมเพลต Bicep เพื่อให้คุณสามารถตัดสินใจอย่างชาญฉลาดเกี่ยวกับภาษาที่จะใช้
ในหน่วยนี้ คุณจะได้เรียนรู้เกี่ยวกับภาษาเทมเพลต Bicep และประโยชน์ที่มีให้กับการเขียนเทมเพลต
ภาษา Bicep
Bicep เป็นภาษาเทมเพลตของ Resource Manager ที่ใช้ในการปรับใช้ทรัพยากร Azure อย่างประกาศ Bicep ได้รับการออกแบบมาสําหรับสถานการณ์เฉพาะหรือ โดเมนซึ่งทําให้เป็นภาษาเฉพาะโดเมน Bicep ไม่ได้มีไว้เพื่อใช้เป็นภาษาการเขียนโปรแกรมมาตรฐานสําหรับการเขียนแอปพลิเคชัน Bicep ใช้เพื่อสร้างเทมเพลตของตัวจัดการทรัพยากรเท่านั้น Bicep มีจุดมุ่งหมายเพื่อให้เข้าใจง่ายและตรงไปตรงมาในการเรียนรู้โดยไม่คํานึงถึงประสบการณ์ของคุณกับภาษาการเขียนโปรแกรมอื่น ๆ ชนิดทรัพยากร เวอร์ชัน API และคุณสมบัติทั้งหมดถูกต้องในเทมเพลต Bicep
โน้ต
หากก่อนหน้านี้คุณได้ลองใช้เทมเพลต JSON คุณอาจสังเกตเห็นว่า Bicep ทําให้ประสบการณ์การสร้างเทมเพลตง่ายขึ้น ซึ่งมีไวยากรณ์ที่ทําให้เข้าใจได้ง่ายขึ้น การสนับสนุนสําหรับโมดูลารและโค้ดที่นํากลับมาใช้ใหม่ได้ดีขึ้น และความปลอดภัยของประเภทที่ดีขึ้น การสร้างเทมเพลต JSON ARM จําเป็นต้องใช้นิพจน์ที่ซับซ้อน และผลลัพธ์สุดท้ายอาจอย่างละเอียด
ประโยชน์ของ Bicep
Bicep มีการปรับปรุง JSON สําหรับการเขียนเทมเพลตมากมาย รวมถึง:
ไวยากรณ์ Simpler : Bicep มีไวยากรณ์ที่ง่ายกว่าสําหรับการเขียนเทมเพลต คุณสามารถอ้างอิงพารามิเตอร์และตัวแปรได้โดยตรงโดยไม่ต้องใช้ฟังก์ชันที่ซับซ้อน ใช้การประมาณค่าในช่วงสตริงแทนการเรียงต่อกันเพื่อรวมค่าสําหรับชื่อและรายการอื่น ๆ คุณสามารถอ้างอิงคุณสมบัติของทรัพยากรได้โดยตรงโดยใช้ชื่อสัญลักษณ์แทนคําสั่งอ้างอิงที่ซับซ้อน การปรับปรุงไวยากรณ์เหล่านี้ช่วยทั้งการเขียนและการอ่านเทมเพลต Bicep
โมดูล: คุณสามารถแบ่งการใช้งานเทมเพลตที่ซับซ้อนออกเป็นไฟล์โมดูลที่มีขนาดเล็กลง และอ้างอิงในเทมเพลตหลัก โมดูลเหล่านี้ช่วยให้จัดการได้ง่ายขึ้นและนํากลับมาใช้ใหม่ได้มากขึ้น คุณยังสามารถแชร์มอดูลของคุณกับทีมของคุณได้
การจัดการการอ้างอิงอัตโนมัติ : ในสถานการณ์ส่วนใหญ่ Bicep จะตรวจหาการขึ้นต่อกันระหว่างทรัพยากรของคุณโดยอัตโนมัติ กระบวนการนี้จะลบงานบางส่วนที่เกี่ยวข้องในการเขียนเทมเพลต
Type validation และ IntelliSense: ส่วนขยาย Bicep สําหรับ Visual Studio Code มีการตรวจสอบความถูกต้องที่หลากหลายและ IntelliSense สําหรับข้อกําหนด API ประเภททรัพยากร Azure ทั้งหมด คุณลักษณะนี้ช่วยให้ประสบการณ์การเขียนง่ายยิ่งขึ้น
ดูตัวอย่างต่อไปนี้ของเทมเพลต Bicep ที่กําหนดบัญชีเก็บข้อมูล Azure เทมเพลตจะสร้างชื่อของบัญชีเก็บข้อมูลโดยอัตโนมัติ หลังจากการปรับใช้ ID ทรัพยากรจะถูกส่งกลับเป็นผลลัพธ์สําหรับผู้ใช้ที่ดําเนินการเทมเพลต
param location string = resourceGroup().location
param namePrefix string = 'storage'
var storageAccountName = '${namePrefix}${uniqueString(resourceGroup().id)}'
var storageAccountSku = 'Standard_RAGRS'
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
kind: 'StorageV2'
sku: {
name: storageAccountSku
}
properties: {
accessTier: 'Hot'
supportsHttpsTrafficOnly: true
}
}
output storageAccountId string = storageAccount.id