העברת קבצים עם AzCopy: OAuth וטוקן SAS

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

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

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

בואו נתחיל!

אם אתם לומדים בינה טובה יותר דרך סרטון, תוכלו גם לבדוק סרטון של TechSnips הקשור לנושא שאתם לומדים במאמר זה.

דרישות קדם

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

יצירת מחסניות אחסון חדשות

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

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

תחילה, הגדר את כתובת ה-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 כדי להעתיק קבצים לבלובים, יש לך מספר אפשרויות לאימות. מכיוון שנניח שכבר אימתת לאחסון 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

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

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

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

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

שימוש באישור גישה משותף (SAS)

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

לאחר שיש לך טוקן SAS זמין, תוכל להוסיף את הטוקן לכתובת ה-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

העתקת ספרייה ל/from אחסון Azure

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

מתחת לאתה רואה פקודה שמעתיקה את התיקייה C:\\MyDir באופן רקורסיבי לתוך קונטיינר הblob 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 לעתים רבות. אין צורך להפסיק כעת! לא רק ניתן להעתיק ספריות וקבצים לאו/מתוך מיקום פרימי, ניתן גם להעתיק קבצים מעובר לתוך תוך אחסון.

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

כבר יצרת שני מיכלי אחסון בשמות container1 ו-container2. בסעיף זה, בוא נעתיק קבצים, ספריות ואף את כל מיכל הקובץ מתוך 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. חלק מהן כוללים:

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

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

List of AzCopy Commands

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

סיכום

במאמר זה, למדת כיצד להשתמש ב-AzCopy כדי להעביר קבצים בין אחסון הלוקאלי ואזור. למדת גם כיצד לבצע משימות אלה בעת שימוש באימות 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/