העברת קבצים עם AzCopy: OAuth ואסימון SAS

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

AzCopy הוא יישום עצמאי שמאפשר ניהול של אחסון Azure. עם AzCopy, ניתן לבצע מספר פעולות. במאמר זה, נתמקד ב:

  • יצירת מיכלי אחסון
  • העתקת קבצים מקומיים אל מיכלים
  • העתקת קבצים בין מיכלים

בואו נתחיל!

אם אתה לומד טוב יותר באמצעות וידאו, תוכל גם לבדוק וידאו של TechSnips הקשור בקרבה למה שתלמד במאמר זה.

דרישות קדם

מאמר זה יציג מדריך רגלי המדגים מספר פעולות שונות. אם ברצונך לעקוב אחרי המדריך, ודא שיש לך את הדרישות הבאות מופקדות לפני התחלת התהליך.

יצירת מיכלי אחסון חדשים

בראשית, בואו נשתמש ב-AzCopy כדי ליצור מיכלי אחסון חדשים בחשבון אחסון קיים. בדוגמה שתשתמשו בה, תיצרו שני מיכלים חדשים בשמותcontainer1 ו-container2.

הערה: לפני יצירת מיכל חדש, עליכם לדעת את כתובת ה-URL של המיכל. כתובת ה-URL עומדת בפורמט: https://[storageaccountname].blob.core.windows.net/[container_name].

בראשית, הגדרו את כתובת ה-URL. בדוגמה זו, המיכלים ייצרו בחשבון אחסון הנקרא storageaccount1207 ויצרו שתי כתובות URL קצרות:

עכשיו שיש לכם את כתובות ה-URL, השתמשו בפקודת azcopy make והעבירו כל כתובת URL כפרמטר כפי שמוצג למטה.

> azcopy make https://storageaccount1207.blob.core.windows.net/container1
> azcopy make https://storageaccount1207.blob.core.windows.net/container2
Creating new containers in the storageaccount1207 storage account

העתקת קבצים ל/מתוך מיכלי Azure

לאחר שיצרתם מיכל אחסון, כנראה תשאלו "איך אני מעלה לאחסון ענן של Azure?". תוכלו לעשות זאת באמצעות AzCopy באמצעות פקודת ה-azcopy copy. תוכלו להשתמש ב-AzCopy כדי להעתיק PSTs, VHDs ועוד.

שימוש באימות OAuth

כאשר משתמשים ב-AzCopy כדי להעתיק קבצים ל-Blobs, יש לכם מספר אפשרויות לאימות. מאחר שנניח שכבר אימתתם את עצמכם לאחסון Azure (מאחר שהיה בדרישות המראשיות), תוכלו פשוט להריץ azcopy copy ולציין נתיב לקובץ מקומי ואחריו כתובת URL של הקונטיינר כפי שמוצג למטה.

על ידי שלא לציין שום פרמטר נוסף, אתם משתמשים באימות OAuth.

> azcopy copy c:\myDir\file1.txt https://storageaccount1207.blob.core.windows.net/container1
Upload file to Azure Storage using OAuth

איך לוודא שהקובץ הועתק לקונטיינר Blob של Azure? תוכלו להשתמש בפקודת azcopy list [כתובת URL של הקונטיינר]. ראו את הדוגמה למטה המראה כי הקובץ file1.txt קיים.

> azcopy list https://storageaccount1207.blob.core.windows.net/container1
List the contents of the Azure blob container

כדי להוריד קובץ מ-Blob של Azure לתיקייה המקומית, עליכם רק להחליף את המקומות של הארגומנטים של המקור והיעד. ראו את הדוגמה למטה.

> azcopy copy https://storageaccount1207.blob.core.windows.net/container1/file1.txt>c:\myDir
Download file from Azure Storage using OAuth authentication

שימוש בסימן גישה משותף באמצעות טוקן (SAS)

כדי להשתמש בסימן גישה משותף, עליכם תחילה ליצור אחד. אם אינכם יודעים איך ליצור סימן גישה משותף (SAS), ראו את איך ליצור סימן גישה משותף Azure כדי לגשת לחשבונות אחסון.

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

> azcopy copy c:\myDir\file1.txt 'https://storageaccount1207.blob.core.windows.net/container1?sv=2019-02-02&sr=c&sig=LgFsqIRHZovsSjpAVNAyyyy4tnDJ%2BxNh%2B1Cq3rY4Gbk%3D&se=2019-12-09T06%3A34%3A30Z&sp=rw'

אם אתם משתמשים ב-PowerShell ושמרתם את הסימן במשתנה (לדוגמה, $token), תוכלו להעביר את המשתנה הזה במקום מחרוזת הסימן המלאה כמו בפקודה למטה.

> azcopy copy c:\myDir\file1.txt "https://storageaccount1207.blob.core.windows.net/container1?$token"
Copy file to Azure Container using SAS Token Authentication

באמצעות האסימון הזה (בהנחה שהוא עדיין בתוקף), תוכל גם להוריד קבצים מאחסון Azure לאחסון המקומי. הדוגמה למטה מעתיקה את הקובץ file1.txt מאחסון Azure עם אסימון SAS.

בקוד למטה, ניתן לראות שהפעם במקום להוסיף את האסימון אחרי שם התיקייה, נוסף שם הקובץ תחילה. זה מדריך את AzCopy להעתיק קובץ מסוים באמצעות אימות SAS.

> azcopy copy ('https://storageaccount1207.blob.core.windows.net/container1/file1.txt'+$token) C:\MyDir\
Copy file from Azure Container with SAS Token

העתקת ספרייה מ/Az לאחסון Azure ולהפך

אם יש לך הרבה קבצים להעברה או להורדה מ-Azure, תוכל גם להעתיק ספריות שלמות בבת אחת באמצעות azcopy copy. הפקודה לעשות זאת אינה כל כך שונה ממה שאתה משתמש כדי להעתיק קבצים בודדים.

ניתן לראות למטה פקודה שמעתיקה את ה-C:\\MyDir באופן רקורסיבי לכלי האחסון של הקטנה container1. הפרמטר --recursive הוא המפתח כאן. הדגל --recursive בסופו של הפקודה מציין שכל התוכן מהתיקייה האב והתת-תיקיות שעשויות להתקיים יועתקו.

> azcopy copy C:\MyDir\ https://storageaccount1207.blob.core.windows.net/container1/ --recursive

ניתן לראות למטה עשרה קבצים בתוך התיקייה של C:\MyDir הועתקו בהצלחה בהתבנית העבודה.

Copying a directory and its contents

העתקת קבצים בין תוך האחסון של Azure

לאורך מאמר זה, השתמשת בפקודת azcopy copy לעתים קרובות. אין צורך לעצור כאן! לא רק ניתן להעתיק ספריות וקבצים מ/אל תוך עמידה, אלא ניתן גם להעתיק Blobs בין תוך עמידות אחת לאחרת.

במקום להשתמש בנתיב קובץ מקומי, תשנה את הפרמטרים לשימוש ב-URL של מאגר Blob אחד כמקור ו-URL של מאגר Blob אחר כיעד.

כבר יצרת שני מאגרי אחסון בשמות container1 ו־container2. בסעיף זה, בוא נעתיק קבצים, תיקיות ואף את כל מאגר ה-Blob השלם מ־container1 אל container2.

כדי להעתיק קבצים ממאגר אחד למאגר אחר, יש ליצור טוקן SAS חדש. מכיוון ששני המאגרים שייכים לאותה חשבון אחסון, ניתן להשתמש באותו טוקן עבור המקור והיעד.

בהנחה ששמרת את מחרוזת הטוקן למשתנה בשם $token (אם אתה מריץ azcopy עם PowerShell), ניתן להעתיק את כל הנתונים ממאגר אחסון אחד לשני כפי שמוצג למטה.

תזכורת: הסתכל על מאמר איך ליצור אסימון SAS של Azure כדי לגשת לחשבונות אחסון אם אינך יודע איך ליצור אסימון SAS.

> azcopy copy ('https://storageaccount1207.blob.core.windows.net/container1'+$token) ('https://storageaccount1207.blob.core.windows.net/container2'+$token) --recursive
Copying data between containers using SAS Token authentication

פעולות AzCopy נוספות שימושיות

בנוסף להעתקת קבצים ותיקיות, ישנן פעולות העתקה נוספות שניתן לבצע עם AzCopy. חלק מהן הם:

  • העתקת קבצים ספציפיים (מסוננים).
  • העתקת תיקייה לתוך תיקייה אחרת במאגר ה-Blob.
  • העתקה מ-Amazon AWS אל אחסון Azure.

אם ברצונך ללמוד אודות כל מה ש-AzCopy יכול לעשות, ראה את תוכן העזרה על ידי הרצת azcopy -h. תמצא פקודות שימושיות רבות נוספות למעבר מעבר לפקודת copy שהתמקדת בה במאמר זה. ניתן לראות צילום מסך של הפקודות האלה למטה.

List of AzCopy Commands

למידע נוסף, בקר בדף העתקה של AzCopy. לאחר מכן ניתן לנסות אותם לבד באמצעות הטכניקות שלמדת במאמר זה.

סיכום

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

I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!

Source:
https://adamtheautomator.com/azcopy-storage/