什麼是 Bicep?
Bicep 是使用宣告式語法來部署 Azure 資源的特定領域語言。 在 Bicep 檔案中,您可以定義您想要部署至 Azure 的基礎結構,然後在開發生命週期中使用該檔案重複部署該基礎結構。 您的資源會以一致的方式進行部署。
Bicep 提供簡潔的語法、可靠的類型安全性,以及重複使用程式碼的支援。 Bicep 能夠為您在 Azure 中的基礎結構即程式碼解決方案,提供最佳的製作體驗。
Bicep 的優點
Bicep 可提供下列優點:
支援所有資源類型和 API 版本:Bicep 立即支援 Azure 服務的所有預覽和 GA 版本。 當資源提供者引進新的資源類型和 API 版本,您就可以在 Bicep 檔案中使用它們。 使用新的服務之前,您不需要等候工具更新。
簡單語法:相較於對等的 JSON 範本,Bicep 檔案更簡潔且更容易閱讀。 Bicep 不需要事先瞭解程式設計語言。 Bicep 語法為宣告式,並指定您想要部署的資源和資源屬性。
下列範例顯示 Bicep 檔案與對等 JSON 範本之間的差異。 這兩個範例都會部署記憶體帳戶:
param location string = resourceGroup().location param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}' resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = { name: storageAccountName location: location sku: { name: 'Standard_LRS' } kind: 'StorageV2' properties: { accessTier: 'Hot' } }
編寫體驗:當您使用 適用於 VS Code 的 Bicep 延伸模組來建立 Bicep 檔案時,您會獲得一流的編寫體驗。 編輯器提供豐富的類型安全性、IntelliSense 和語法驗證。
若要在 Visual Studio 中建立 Bicep 檔案,您也可以使用 適用於 Visual Studio Code 的 Bicep 延伸模組。
可重複的結果:在開發生命週期中部署基礎結構,並確信您的資源會一致地部署。 Bicep 檔案是等冪的,這表示您可以多次部署相同的檔案,並取得相同狀態中的相同資源類型。 您可以開發一個代表所需狀態的檔案,而不是開發許多個別的檔案來代表更新。 例如,下列檔案會建立儲存體帳戶。 如果您在指定的屬性已經存在時部署此樣本和記憶體帳戶,則不會進行變更:
協調流程:您無須擔心複雜的作業順序。 Resource Manager 會協調相互依存資源的部署,使其依正確順序建立。 可能的話,Resource Manager 會以平行方式部署資源,以協助您的部署完成速度比序列部署更快。 您可以透過一個而非多個命令命令來部署檔案。
模組化:使用模組將 Bicep 程式代碼分割成可管理的元件。 模組可協助您重複使用程式碼並簡化開發。 模組會部署一組相關的資源。 當您需要部署這些資源時,將模組新增至 Bicep 檔案。
與 Azure 服務整合:Bicep 與 Azure 服務整合,例如 Azure 原則、範本規格和 Azure 藍圖。
預覽變更:您可以在部署 Bicep 檔案之前,先使用 假設作業 來預覽變更。 假設狀況作業會顯示要建立、更新或刪除哪些資源,以及要變更的任何資源屬性。 它也會檢查您環境的目前狀態,並不需要管理此狀態。
沒有要管理的狀態或狀態檔案:Azure 會儲存所有狀態。 您可以與其他人共同作業,並確信您的更新會如預期般處理。
不需要成本和 開放原始碼:因為 Bicep 是免費的,因此您不需要支付進階功能的費用。 Microsoft 支援服務 支援它。
開始使用
若要開始使用 Bicep:
- 安裝工具。 如需詳細資訊,請參閱 設定 Bicep 開發和部署環境 ,或使用 VS Code devcontainer/Codespaces 存放庫 來取得預先設定的撰寫環境。
- 完成 Bicep 的快速入門和學習課程模組。
若要將現有的 Resource Manager 範本分解為 Bicep,請參閱 將 ARM 範本 JSON 反編譯至 Bicep。 您可以使用 Bicep 遊樂場 來並排檢視 Bicep 及其對等的 JSON。
若要了解 Bicep 檔案中可用的資源,請參閱 Bicep 資源參考。
您可以在 Bicep GitHub 存放庫中找到 Bicep 範例。
關於語言
Bicep 不適合做為撰寫應用程式的一般程式設計語言。 Bicep 檔案會宣告 Azure 資源和資源屬性,而不需撰寫一連串的程式設計命令來建立它們。
若要追蹤 Bicep 工作的狀態,請參閱 Bicep 專案存放庫。
若要瞭解 Bicep,請觀看下列影片:
您可以使用 Bicep 而非 JSON 來開發 Resource Manager 範本。 建立 Resource Manager 範本的 JSON 語法可能很詳細,而且需要複雜的表達式。 Bicep 語法可降低這種複雜性,並改善開發體驗。 Bicep 是 Resource Manager JSON 範本的透明抽象概念,不會遺失 JSON 範本的功能。 在部署期間,Bicep CLI 會將 Bicep 檔案轉換成 Resource Manager JSON 範本。
Resource Manager 範本中有效的資源類型、API 版本和屬性在 Bicep 檔案中有效。
相較於其對等的 JSON,Bicep 提供更簡單且更簡潔的語法。 您無須使用括號運算式 [...]
。 相反地,您可以直接呼叫函式,並從參數和變數取得值。 您可為每個部署的資源提供符號名稱,輕鬆地在範本中參照該資源。
如需語法的完整比較,請參閱比較範本的 JSON 和 Bicep。
Bicep 會自動管理資源之間的相依性。 您可以避免在另一個資源宣告中使用資源的符號名稱時設定 dependsOn
。
Bicep 檔案的結構比 JSON 範本更有彈性。 您可以在檔案中的任何位置宣告參數、變數和輸出。 在 JSON 中,您必須在範本的對應區段內宣告所有參數、變數和輸出。
取得支援
以下是針對 Azure Resource Manager (ARM) 範本相關問題開啟支援票證的步驟:
開啟 Azure 入口網站。
在右上角選取 [支援 + 疑難解答] 圖示。
在 [簡短描述問題] 中,輸入 ARM 範本,然後選取 [前往]。
在 [您遇到哪些服務問題?] 中,選取 [監視與管理] 底下的 [入口網站],然後選取 [下一步]。
選取訂用帳戶,然後選取 [下一步]。
選取 [ARM 範本的問題],然後選取 [下一步]。
下一步
若要開始使用,請參閱 快速入門。
如需常見問題的答案,請參閱 Bicep 常見問題集。