תצטרך לבנות תשתית ב-Azure? האם הסתכלת על תבניות ARM וחשבת, "וואו, זה נראה מורכב"? כי רבים נתקלו בקושי לבנות תבניות ARM, מיקרוסופט פיתחו שכבת הפשטות שנקראת Azure Bicep.
במדריך זה, תלמד כיצד להתחיל מאפס. תלמד לעשות הכול, החל מהגדרת סביבת פיתוח ועד להפקדת תבנית Bicep הראשונה שלך!
בוא נתחיל!
דרישות מוקדמות
מדובר בהדגמה מעשית. אם ברצונך להתבונן, הקפד לוודא שיש לך את הבא:
- Windows 10 – רוב הדמויות במדריך זה יעבדו גם על מערכות הפעלה אחרות, אך כל הדמויות ישתמשו ב-Windows 10.
- Visual Studio Code – מדריך זה ישתמש בגרסה 1.60.2 שלו.
- קבוצת משאבי Azure להפקדה – מדריך זה ישתמש בקבוצת משאבים בשם ATA.
מהו Azure Bicep?
Bicep הוא שפת תחום ספציפי שהופכת את בניית התבניות של תבניות ARM לפעולה יותר קלה. אפשר לחשוב על Bicep כשכבת הערכה מעל לתבניות ARM. ARM משתמשת ב־JSON ויכולה להיות מורכבת, במיוחד עבור פרויקטים גדולים.
מיקרוסופט החליטה ליצור את Bicep כדי להפחית מורכבויות ולשפר את חוויית הפיתוח. זו לא שפה חדשה; חשוב לראות בה יותר כשדרוג לתבניות ARM ב־JSON.
הגדרת סביבת פיתוח עבור Bicep
כדי להתחיל לפתח תבניות Bicep, עליך להגדיר סביבה שתסייע לך לקבל את התוצאות הטובות ביותר. בשביל זה, יש לך כמה כלים לרשותך. בוא נגדיר תחילה את הסביבה שתזדקק לה, כולל הרחבת Bicep של VS Code, את כלי השורת פקודה של Bicep, ואופציונלית, מודולי PowerShell של Azure.
התקנת ההרחבה של Bicep של VS Code
VS Code הוא כלי פיתוח מצוין לבניית תבניות Bicep. על כן, Microsoft מספקת הרחבה של VS Code כדי לעזור ליצירת תבניות Bicep בקלות יותר. בואו נתחיל בבניית סביבת פיתוח על ידי הכנת VS Code.
פתחו את Visual Studio Code ולחצו על לחצן ההרחבות.

בתיבת החיפוש, הקלידו "bicep". תראו הרחבה ביחידה אחת. כאשר זה קורה, לחצו על התקנה. לאחר כמה רגעים, VS Code יתקין את ההרחבה ל-Bicep.

אף על פי שהקטע הבא יספק לך את התבנית Bicep להעתקה/הדבקה, ישנם כנראה רגעים בהם תצטרכו ליצור תבניות Bicep מאפס. ההרחבה ל-Bicep ב-VS Code מועילה במיוחד כאן בשל תכונות ה-Intellisense שלה.
שימו לב כי אם תפתחו קובץ עם סיומת .bicep ב-VS Code, התוכנה תנסה לספק קיצורי דרך עבורכם. לדוגמה, אם תיצרו משאבי Azure עם המילת המפתח resource
בתבנית Bicep, עם ההרחבה ל-Bicep מותקנת, VS Code מבין זאת.

בחירת אחת מהאפשרויות בתפריט שסופקו יצורת אוטומטית תבנית למילוי במקום לזכור את תחביר התחביב בכל פעם.

הנקודה (.
) היא קיצור יד נוסף בעת יצירת תבניות Bicep. בזמן שאתה מקליד זאת במקטע properties, לדוגמה, תראה את כל המאפיינים הזמינים לחשבון אחסון.

התקנת Bicep CLI
ברגע שנוצר, עליך לקרוא לתבניות Bicep דרך Bicep CLI. לפני שאתה מנסה להתקין את Bicep CLI, בדוק ראשית האם הוא כבר מותקן. בהתאם לגרסה של Azure CLI שכבר התקנת, ייתכן וכבר יש לך את Bicep CLI. כדי לבדוק, פתח קונסול PowerShell או טרמינל ובדוק את הגרסה של Bicep CLI.
אם יש לך את Bicep CLI מותקן, תראה הצהרת גרסה, כפי שמוצג למטה.

אם אתה רואה הודעת שגיאה על כך שלא נמצא Bicep CLI, הפעל את הפקודה המשנית install
כדי להתקין את Bicep CLI.
כעת תראה את הפלט כפי שמוצג למטה. זה מאשר שהתקנת Bicep CLI בהצלחה והוא מוכן לשימוש.

כאמור, כדי להתקין באופן אלטרנטיבי, תוכל גם להתקין את Bicep CLI דרך המתקין של Windows של Bicep.
יצירת תבנית Bicep להפעלת חשבון אחסון
אתה יכול לפרוט מספר משאבי Azure מורכבים באמצעות Bicep, אך בואו נתחיל לאט. לתבנית Bicep הראשונה שלך, בואו ניצור חשבון אחסון פשוט ב-Azure שתוכל להשתמש בו לפרסום ב-Azure באמצעות כל מה שיש לך בסעיף הבא – Azure CLI ו-PowerShell.
1. פתח את VS Code וצור קובץ חדש בשם main.bicep. אין צורך להקפיד על השם הזה, אך כדאי לנסות לשמור על המסורת של Terraform ולקרוא לתבנית main עם ההרחבה .bicep.
2. העתק את קוד ה-Bicep הבא לקובץ ושמור אותו. בתבנית זו ישנם מספר מאפיינים שמרכיבים תבנית Bicep.
תראה תחילה מספר מאפיינים שמשותפים לכל תבנית Bicep:
- מזהה המשאב (
resource myStorage
) – אומר ל-Bicep ליצור משאב חדש בשםmyStorage
. שם זה מזהה את המשאב הספציפי בתבנית Bicep. שם זה אינו השם של המשאב שנוצר ב-Azure. Microsoft.Storage/storageAccounts@2019-06-01
– מגדיר סוג המשאב של ספק המשאבMicrosoft.Storage
, סוג המשאב (storageAccounts
), וגרסת ה-API(2019-06-01)
לשימוש.name
– שם המשאב כפי שהוא מופיע ב-Azure (חשוב להקפיד על כללי השמות וההגבלות לשמות משאבי Azure.)location
– אזור Azure ליצירת המשאב.
אתה גם תראה כמה מאפיינים הספציפיים לסוג המשאב storageAccounts
:
SKU
– SKU של חשבון האחסון (Standard_LRS
) כפי שהוגדר במאפייןname
.kind
– סוג חשבון האחסון (StorageV2).properties
– מגוון מאפיינים ספציפיים למשאב שאין להם קטע משלהם, כמו לדוגמהaccessTier
בדוגמה זו. אלה הם אותם מאפיינים שתמצאו בתבניות ARM.
הרצת תבנית Bicep עם PowerShell
כפי שצוין למעלה, ניתן להריץ תבניות Bicep באחת משתי הדרכים: דרך Azure CLI ומודול Azure PowerShell. בואו נתחיל ראשית להריץ תבנית Bicep עם PowerShell.
ודא שיש לך את מודול Azure PowerShell מותקן ואתה מאומת ב-Azure לפני שתתחיל בסקציה זו.
הצפייה במשאבי Azure עם תבניות Bicep דומה להצפנה של תבניות ARM. מיקרוסופט בעצם הוסיפה תמיכה בשפת Bicep לרוב פקודות ה-ARM של PowerShell הקיימות, כמו לדוגמה את New-AzResourceGroupDeployment.
בקונסולת PowerShell שלך, הפעל את הצפנת קבוצת משאבים חדשה באמצעות פקודת New-AzResourceGroupDeployment
, וספק את נתיב תבנית ה-Bicep ואת ResourceGroupName
להצפנה אליו. תשים לב שניתן להשתמש בתבנית Bicep בדיוק כמו בתבנית ARM.
אם ההצפנה הצליחה, אתה צופה לראות את הפלט הבא בקפיצת הקוד PowerShell שלך עם המאפיין ProvisioningState מציין כמוצלח. זהו!

כדי לוודא שהמשאב נוצר בהצלחה, היכנס ל־פורטל Azure, נווט לקבוצת המשאבים שלך ותראה שם בתוך הקבוצה הזו חשבון אחסון שנוצר חדש.

אם אתה עוקב ויצרת את חשבון האחסון כדי להדגים, אל תשכח להסיר אותו! שים לב שה־ResourceName
תואם ל־name
שסופק בתבנית ה-Bicep.
כעת תראה את הפלט הבא.

הצפנת תבנית Bicep עם ה-CLI של Azure
כדי לשלום את המדר הזה, נכסה כעת את התהליך של הצפנת תבנית Bicep שנבנתה לאחרונה עם ה-CLI של Azure.
ודא שיש לך את Azure CLI v2.2.0+ מותקן ומחובר לפני התחלת הסעיף הזה.
עם PowerShell שלך או טרמינל אחר פתוח, הפעל פיצול ARM עם הפקודה az deployment group create
. פקודה זו מבצעת פיצול ARM בדיוק כמו ב-PowerShell. וודא שאתה מציין את resource-group
להפצה יחד עם תבנית ה-Bicep שנוצרה מראש דרך הפרמטר template-file
.
אם אתה רואה את ה-provisioningState כ-Succeeded, כפי שמוצג למטה, ARM קרא את תבנית ה-Bicep וביצע את כל ההוראות בהצלחה!


אל תשכח לנקות את המשאב עם
az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"
סיכום
עכשיו יש לך סביבת פיתוח יצירתית עבור Azure Bicep ויצרת משאב ב-Azure, מה השלב הבא שלך? אולי להסתכל על מה שיש להציע בנושא Bicep באתר של Microsoft Learn?
אולי הדגמה לקולגות שלך על איך Bicep יכול לעזור לארגון שלך?