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