ניתן למצוא את עצמך זקוק לפתרון זול אך יעיל לאחסון הקבצים שלך בכל שלב, אך איפה מצאת את הפתרון הזה? תבדוק את אחסון עצמאי של עצם בינארי (Blob) של Microsoft Azure! אחסון Blob הוא אחד משירותי האחסון של Azure ומאפשר לך לאחסן כמויות גדולות של קבצי טקסט ומידע בינארי, תוכן זרם או אפילו תוכן סטטי להפצה.
במדריך זה, תלמד איך לעבוד עם אחסון Blob ב-Azure על ידי הליכים בדוגמאות נפוצות.
קרא הלאה כדי להתקדם!
דרישות ראשוניות
מדובר בהדגמה שמעון לקבל חלק בה, ודא שיש לך את התקנים והיכולות הבאות.
- PowerShell 7 מותקן.
- מודול Az PowerShell מותקן בסביבת ה-PowerShell 7 שלך.
- הפעולה AzCopy יורדת ונגישה.
- מינוי ל-Azure – ישנם מספר דרכים להשתמש במשאבי Azure ספציפיים בתמורה לעלות נמוכה או אפילו ללא עלות.
בניית סביבת Azure
לפני שאתה משתמש באחסון blob לאחסון הקבצים שלך, תצטרך לייבא מודולים של PowerShell Core, להתחבר למנוי שלך ב-Azure, ולבנות סביבת Azure.
1. הפעל את PowerShell 7 והפעל את הפקודה הבאה כדי לייבא מודולים שתשתמש בהם לאחסון קבצים באחסון blob.

2. לאחר מכן, התחבר ל-דיור הפעיל שלך ב-Azure, ואז הפעל את הפקודה למטה כדי להשלים אימות אינטראקטיבי בדפדפן האינטרנט שלך, כפי שמוצג למטה.
אף על פי שמחוץ לטווח של המדריך הזה, קיימים שיטות אימות אחרות, כגון Service Principal או שימוש ב־אסימון גישה.

תמיד וודא שהמשכיר והמינוי המוצגים לאחר התחברות הם אלה שתכוון להשתמש בהם. אם נדרש, באפשרותך לשנות את ההקשר שלך.
3. כעת הרץ את הפקודה הבאה כדי ליצור קבוצת משאבים חדשה בשם demo
, ומוסיף אליה חמישה מספרים אקראיים (Get-Random -Maximum 99999
). קבוצות המשאבים נמצאות בהיררכיה מתחת למינויים ומכילות משאבים שמאפשרים ניהול מופקטי.
שים לב שה־-מיקום
של קבוצת המשאבים מוגדר ל־Central US
בדוגמה זו. כאשר הפקודה מושלמת, היא שומרת את התוצאה במשתנה $resourceGroup
.

4. הריצו את הפקודה להביצוע המשימות הבאות וליצירת חשבון אחסון Azure חדש. לדוגמה, שם החשבון המאוחסן הוא storage, ונוסף אליו חמישה מספרים אקראיים (Get-Random -Maximum 99999
). המשתנה $storageAccount
יחזיק את האובייקט שיחזור לאחר השלמת הפקודה.

5. הריצו את הפקודה הבאה כדי לבצע כמה משימות עבור הקצאת תפקיד Azure AD:
- הערך של
-SignInName
משתמש בחשבון שאתה מחובר אליו כרגע דרך מאפייןUserID
המוחזר על ידי הפקודהGet-AzAccessToken
. - ערך ה־
-RoleDefinitionName
הוא התפקיד המובנה Storage Blob Data Contributor שאתה משיין. - ערך ה־
-Scope
מגדיר את ההיקף של ההקצאת תפקיד לחשבון האחסון שיצרת (המוצג בשם storage10029) דרך מאפייןId
של משתנה$storageAccount
.
תמיד ניתן לספק הקצאות תפקיד יותר דקות למיכלים פרטיים ככל הצורך.

6. לבסוף, הפעל את סדר הפקודות למטה כדי ליצור קובץ בשם temp.dat במערכת המקומית שלך. תעלה ותוריד את הקובץ הזה מהחשבון האחסון בחלקים הבאים כדי להדגיש כיצד אחסון ה-Blob עובד.

העלאת קבצים דרך PowerShell
עכשיו שבנית סביבת Azure ויצרת קובץ דוגמה, בואו נתחיל להעלות את הקובץ לאחסון blob. אחסון blob פועל בצורה שונה ממערכות הקבצים התקניות. כל קובץ באחסון blob הוא אובייקט ומתקיים בתוך קונטיינרים.
הפונקציות היסודיות של ה- blobs דומות למערכות קבצים אחרות, אך יש תרחישים בהם כל אחד מהם יכול להיות פתרון טוב יותר. בלובים אפשר גם לתמוך במערכות קבצים וירטואליות (לדוג' BlobFuse).
מיקרוסופט מציעה מספר אפשרויות להעלאת קבצים לחשבונות האחסון שלך דרך PowerShell, AzCopy, ו Azure Portal. אך בוא נעלה את קובץ הדוגמה (temp.dat) לאחסון blob דרך PowerShell להתחלה. PowerShell מאפשר לך חוויית עבודה יציבה עם חשבונות האחסון שלך ב-Azure.
הפעולות הנדרשות לביצוע הדגמה הזו יכולות לגרום לעלויות. מומלץ לעקוב אחרי הצריכה שלך ולמחוק משאבים כשאין לך כוונה להם יותר.
הריצו את הפקודות למטה כדי ליצור קונטיינר חדש ולהעלות את קובץ temp.dat ($file
) כאובייקט. הקונטיינר נקרא demo לדוגמה זו, אך תוכלו לתת לו שם אחר לפי ההעדפה שלך.

העלאת קבצים דרך AzCopy
אולי יש לך מקרים שימושיים מורכבים יותר, כמו סנכרון תוכן או העתקת תוכן בין חשבונות שונים בסקאלה. אם כן, כלי השורת פקודה AzCopy הוא מה שאתה צריך.
הרץ את הפקודות למטה כדי להתחבר למערכת ה Azure שלך ולהעתיק את הקובץ המקומי שלך ($file
) לכתובת ה-URL של המיכל שלך. אתה מתחבר למערכת Azure מאחר ו-AzCopy אינו מודע לזיהוי האישורים שאתה משתמש בהם עם PowerShell.

במקום העלאה, אולי תרצו להוריד קבצים באמצעות AzCopy. אם כן, הפעילו את הפקודה למטה כדי להעתיק את הקבצים המסוימים (
temp.dat
) מהתכולה שלכם לספריית המקומית הנוכחית:& .\azopy.exe copy "$($container.CloudBlobContainer.Uri.AbsoluteUri)/temp.dat" .\temp.dat
העלאת קבצים דרך פורטל Azure
אם אתם מעדיפים שיטת GUI להעלאת הקבצים שלכם, אז ממשק Azure Storage הוא חברכם. ממשק האחסון של Azure הוא אחת משיטות הניהול הגרפיות הטובות ביותר לניהול האחסון שלכם. ניתן לגשת לממשק האחסון ממשאב החשבון שלכם בפורטל Azure.
1. פתחו את דפדפן האינטרנט האהוב עליכם ונווטו לממשק האחסון שלכם בפורטל Azure.
2. לחצו על התכולה demo תחת אחסוני BLOB, כפי שמוצג למטה, ואז לחצו על העלאה כדי לגשת ללהב "העלאת Blob" (לוח הימין).
3. כעת לחצו על סמל התיקייה בלוח "העלאת Blob" כדי לבחור אילו קבצים להעלאה (temp.dat).
סוף סוף, לחץ על העלאה (כפתור כחול) כדי להעלות את הקובץ שלך.

לאחר ההעלאה, ניתן לסגור את לוח ה־העלאת ה־blob ולראות את ה־blob שהועלה, כמו בתמונה למטה.

הורדת קבצים דרך פורטל Azure
בדומה להעלאת תוכן לאחסון blob, Azure תומך בהורדת תוכן בכמה דרכים. אך מאחר שהעלית קובץ (temp.dat) דרך פורטל Azure, בוא נוריד את אותו הקובץ באמצעות סייר האחסון של Azure בפורטל Azure.
בחר את הקובץ (temp.dat) להורדה ולחץ על כפתור ה־הורדה בסייר האחסון של Azure, כפי שמוצג למטה. פעולה זו תפתח תיבת דו־שיח חדשה כדי לאשר את ההורדה שתראה בשלב הבא.

עכשיו לחץ על כפתור לחץ כאן כדי להתחיל בהורדה כדי להוריד את הקבצים שבחרת.

הורדת קבצים דרך PowerShell
כמו בהעלאת קבצים, יש לך גם אפשרות להוריד קבצים מאחסון ה־blob על ידי הרצת פקודות ב־PowerShell. בעזרת PowerShell, ניתן לרשום את האובייקטים בתוך קונטיינר, ואז להוריד אותם.
הרץ את הפקודות הבאות כדי לרשום את כל האובייקטים בקונטיינר שלך ולהוריד את temp.dat לתיקייה המקומית שלך.

אם תעדיפו להשתמש בקישורים ייחודיים הפועלים לזמן קצר כדי להוריד קבצים, ניתן להשתמש ב אסימון שיתוף גישה משותף (SAS) כדי ליצור קישור להורדה שמור מראש. אלה הם אסימונים ייחודיים ופרטיים המאשרים את הגישה שלך.
הריצו את הפקודות למטה כדי ליצור קישור הורדה חדש עבור הקובץ (temp.dat
) שתרצו להוריד. הקישור להורדה שנוצר יפוג אחרי 10 שניות ויעביר את התוכן באמצעותו למשתנה $temp
.

אירוח עמוד אינטרנטי באינטרנט הציבורי מאחסון Blob
עד כה, ראיתם דוגמאות להורדת קבצים על ידי משתמשים מאומתים. אבל הידעתם שאחסון ה-Blob יכול לספק אפשרות מצוינת גם לתוכן ציבורי? דוגמה אחת היא השימוש ב-Blob לאחסון תוכן דף האינטרנט שלכם, אשר תצליחו לבצע בדמו זה.
אפילו אם תוכן דף האינטרנט שלך מוצפן גם במעבר וגם במנוחה, כל אחד יכול לגשת אל התוכן הזה אם הגישה הציבורית מוגדרת.
מאחר שאתה מגדיר מקרה שימוש שונה, תשתמש באחד היתרונות העיקריים של הענן הציבורי בגודל ובגמישות. תוכל להקצות חשבון אחסון חדש עבור מקרה שימוש ספציפי ולהגביל את הסיכון בשימוש במיכלים ציבוריים.
1. הרץ את הפקודה ליצירת חשבון אחסון חדש כפי שעשית בשלב הרביעי של סעיף "בניית סביבת Azure". אך הפעם, תעבור את האובייקט שחוזר למשתנה $publicStorageAccount
.

עכשיו יש לך חשבון אחסון מוקצה עבור תוכן הציבורי שלך, ותוכל להגדיר אותו לארח תוכן אינטרנטי סטטי באמצעות הפקודה הבאה.
2. לאחר מכן, הפעל את הפקודה Enable-AzStorageStaticWebsite
כדי להגדיר את חשבון האחסון ($publicStorageAccount
) למקרה השימוש החדש שלך. האפשרות -IndexDocument
מגדירה את העמוד האינטרנטי המוגדר כברירת מחדל שתרצה להציג למשתמשים. האפשרות -Context
תהיה חשבון האחסון החדש שכרגע יצרת.

3. הרץ את הפקודות למטה כדי ליצור מסמך HTML חדש בתיקיית הנוכחית שלך, ולהעלות את המסמך הזה למיכל שנועד לאירוח תוכן אינטרנטי. סוג התוכן מוגדר כ-HTML (ContentType="text/html"
), כך שדפדפני האינטרנט יכולים לפענח את המסמך בצורה תקינה.
גישה למסמך בדפדפן אינטרנט מדפיסה את ההודעה Hello from <storage account name>.

4. כעת הרץ את הפקודה הבאה כדי לקבל את כתובת ה-URL שבה משתמשים יכולים לגשת אל תוכן שלך.

5. לבסוף, פתח את ה-URL בדפדפן שלך, ותראה משהו דומה לתמונה הבאה.

ניקוי משאבים
עכשיו שעברת דרך בדיקת המושגים החדשים בשימוש באחסון כדור, תרצה לנקות את המשאבים שלך. למה? על-מנת לשמור על המינוי שלך. בנוסף, אתה עוצר להוסיף תשלומים נוספים.
מאחר וכל המשאבים שהשתמשת בהם במדריך זה נמצאים באותה קבוצת משאבים אחת, אתה יכול לנקות את כל המשאבים על ידי מחיקת קבוצת המשאבים.
לא תמיד יתאפשר להכניס את כל המשאבים בתוך קבוצת משאבים אחת, וזה ממחיש למה שימוש רב בחלוקה לוגית יכול להיות מועיל, במיוחד כאשר אתה נבדק או חוזר על התהליכים בתדירות.
הרץ את ה-Remove-AzResourceGroup
cmdlet למטה, וציין את המאפיין ResourceGroupName
של המשתנה $resourceGroup
כדי למחוק את קבוצת המשאבים וכל המשאבים בתוך זה.

סיכום
במדריך זה, נגעת בהעלאה והורדה של קבצים אל ומתוך כדורים באחסון בענן בפלטפורמות שונות. למדת גם שאפשר לארח דף אינטרנט מאחסון בענן שמשתמשים יכולים לגשת אליו באופן ציבורי.
ניתן לעשות יותר עם אחסון Blob וסוגי אחסון אחרים, אז איך היית מבנה על מושגים אלה? אולי לעבוד עם חשבונות אחסון של קבצים, לספק מערכות קבצים ללא שרת, או להשתמש ב-Blobs דף עבור דיסקים קשיחים וירטואליים עם מכונות וירטואליות של Azure?