إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح لك هذه المقالة طريقة استخدام PowerShell لإنشاء الدلائل والملفات وإدارتها في حسابات التخزين التي تحتوي على مساحة أسماء هرمية.
للتعرف على كيفية الحصول على قوائم التحكم في الوصول (ACL) للدلائل والملفات وتعيينها وتحديثها، راجع استخدام PowerShell لإدارة قوائم التحكم في الوصول في Azure Data Lake Storage.
راجع | تعيين Gen1 إلى Gen2 | تقديم الملاحظات
المتطلبات الأساسية
اشتراك Azure. لمزيد من المعلومات، راجع الحصول على التجربة المجانية من Azure.
حساب تخزين يحتوي على مساحة أسماء هرمية ممكنة. اتبع هذه الإرشادات لإنشاء واحدة.
.NET Framework يمثل 4.7.2 أو أعلى مثبتة. لمزيد من المعلومات، يرجى الاطلاع علىتنزيل .NET Framework.
إصدار PowerShell
5.1أو أحدث.
ثبّت وحدة PowerShell النمطية
تحقق من أن إصدار PowerShell المثبت أو
5.1أعلى باستخدام الأمر التالي.echo $PSVersionTable.PSVersion.ToString()لترقية إصدار PowerShell خاصتك، راجع ترقية Windows PowerShell الحالية
ثبّت وحدة Az.Storage.
Install-Module Az.Storage -Repository PSGallery -Forceلمزيد من المعلومات بشأن طريقة تثبيت وحدات PowerShell النمطية، يرجى الاطلاع علىتثبيت الوحدة النمطية Azure PowerShell
الاتصال بالحساب
افتح نافذة أوامر Windows PowerShell، ثم سجل الدخول إلى اشتراك Azure باستخدام الأمر Connect-AzAccount واتبع الإرشادات التي تظهر على الشاشة.
Connect-AzAccountإذا كانت هويتك مقترنة بأكثر من اشتراك واحد، ولم تتم مطالبتك بتحديد الاشتراك، فقم بتعيين اشتراكك النشط إلى اشتراك حساب التخزين الذي تريد العمل عليه. في هذا المثال، استبدل قيمة العنصر النائب
<subscription-id>بمعرف اشتراكك.Select-AzSubscription -SubscriptionId <subscription-id>ادخل على سياق حساب التخزين.
$ctx = New-AzStorageContext -StorageAccountName '<storage-account-name>' -UseConnectedAccount
إنشاء حاوية
تعمل الحاوية كنظام ملفات لملفاتك. يمكنك إنشاء واحد باستخدام New-AzStorageContainer cmdlet.
هذا المثال ينشئ حاوية باسم my-file-system.
$filesystemName = "my-file-system"
New-AzStorageContainer -Context $ctx -Name $filesystemName
إنشاء دليل
إنشاء مرجع دليل باستخدام New-AzDataLakeGen2Item cmdlet.
يضيف هذا المثال دليلاً باسم my-directory إلى حاوية.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Directory
يضيف هذا المثال الدليل نفسه، ولكنه يضيف أذونات الوصول وumask وقيم الخصائص وقيم بيانات التعريف.
$dir = New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Directory -Permission rwxrwxrwx -Umask ---rwx--- -Property @{"ContentEncoding" = "UDF8"; "CacheControl" = "READ"} -Metadata @{"tag1" = "value1"; "tag2" = "value2" }
إظهار الخصائص المتعلقة بالدليل
يحصل هذا المثال على دليل باستخدام Get-AzDataLakeGen2Item cmdlet، ثم يطبع قيم الخصائص إلى وحدة التحكم.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$dir = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname
$dir.ACL
$dir.Permissions
$dir.Group
$dir.Owner
$dir.Properties
$dir.Properties.Metadata
إشعار
للحصول على الدليل الجذر الخاص بالمحتوى، احذف المعلمة-Path .
إعادة تسمية دليل أو نقله
أعد تسمية دليل أو انقله باستخدام Cmdlet Move-AzDataLakeGen2Item .
يعيد هذا المثال تسمية دليل من الاسمmy-directoryإلى الاسمmy-new-directory.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$dirname2 = "my-new-directory/"
Move-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -DestFileSystem $filesystemName -DestPath $dirname2
إشعار
استعمل المعلمة -Force إذا كنت تريد الكتابة فوق بدون مطالبات.
ينقل هذا المثال دليلًا مسمى my-directory إلى دليل فرعيmy-directory-2باسمmy-subdirectory.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$dirname2 = "my-directory-2/my-subdirectory/"
Move-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -DestFileSystem $filesystemName -DestPath $dirname2
حذف دليل
حذف دليل باستخدام Remove-AzDataLakeGen2Item cmdlet.
يحذف هذا المثال دليلاً باسم my-directory.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
Remove-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname
يمكنك استخدام المعلمة-Force لإزالة الملف دون مطالبة.
تنزيل من دليل
قم بتنزيل ملف من دليل باستخدام Get-AzDataLakeGen2ItemContent cmdlet.
يقوم هذا المثال بتنزيل ملف مسمى upload.txtمن دليل يحمل اسمmy-directory.
$filesystemName = "my-file-system"
$filePath = "my-directory/upload.txt"
$downloadFilePath = "download.txt"
Get-AzDataLakeGen2ItemContent -Context $ctx -FileSystem $filesystemName -Path $filePath -Destination $downloadFilePath
إعداد قائمة محتويات الدليل
سرد محتويات دليل باستخدام Get-AzDataLakeGen2ChildItem cmdlet. يمكنك استخدام المعلمة -OutputUserPrincipalName الاختيارية؛ للتمكن من الحصول على اسم المستخدمين (بدلًا من معرّف الكائن).
يسرد هذا المثال محتويات دليل يسمىmy-directory.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
Get-AzDataLakeGen2ChildItem -Context $ctx -FileSystem $filesystemName -Path $dirname -OutputUserPrincipalName
يسرد المثال التالي خصائص كل من ACLو PermissionsوGroupوOwnerلكل عنصر في الدليل. تعتبر المعلمة-FetchProperty أمرًا ضروريًا للحصول على قيم للخاصيةACL .
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$properties = Get-AzDataLakeGen2ChildItem -Context $ctx -FileSystem $filesystemName -Path $dirname -Recurse -FetchProperty
$properties.ACL
$properties.Permissions
$properties.Group
$properties.Owner
إشعار
لسرد محتويات الدليل الجذر للحاوية، احذف المعلمة-Path .
تحميل ملف إلى دليل
تحميل ملف إلى دليل باستخدام New-AzDataLakeGen2Item cmdlet.
هذا المثال يقوم بتحميل ملف مسمى upload.txt إلى دليل باسم my-directory.
$localSrcFile = "upload.txt"
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$destPath = $dirname + (Get-Item $localSrcFile).Name
New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $destPath -Source $localSrcFile -Force
يقوم هذا المثال بتحميل الملف نفسه، ومن ثم يعين الأذونات وumask وقيم الخصائص وقيم بيانات التعريف للملف الوجهة. يطبع هذا المثال أيضًا هذه القيم إلى وحدة التحكم.
$file = New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $destPath -Source $localSrcFile -Permission rwxrwxrwx -Umask ---rwx--- -Property @{"ContentEncoding" = "UDF8"; "CacheControl" = "READ"} -Metadata @{"tag1" = "value1"; "tag2" = "value2" }
$file1
$file1.Properties
$file1.Properties.Metadata
إشعار
لتحميل ملف إلى الدليل الجذر للحاوية، احذف المعلمة-Path .
إظهار خصائص خاصة بالملف
يحصل هذا المثال على ملف باستخدام Get-AzDataLakeGen2Item cmdlet، ثم يطبع قيم الخصائص إلى وحدة التحكم.
$filepath = "my-directory/upload.txt"
$filesystemName = "my-file-system"
$file = Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $filepath
$file
$file.ACL
$file.Permissions
$file.Group
$file.Owner
$file.Properties
$file.Properties.Metadata
حذف ملف
حذف ملف باستخدام Remove-AzDataLakeGen2Item cmdlet.
احذف هذا المثال ملفًا باسمupload.txt.
$filesystemName = "my-file-system"
$filepath = "upload.txt"
Remove-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $filepath
يمكنك استخدام المعلمة-Force لإزالة الملف دون مطالبة.
تعيين Gen1 على Gen2
يوضح الجدول التالي كيفية تعيين cmdlets المستخدمة ل Data Lake Storage Gen1 إلى cmdlets ل Data Lake Storage.
إشعار
تم الآن إيقاف Azure Data Lake Storage Gen1. انظر إعلان التقاعد هنا. لم يعد من الممكن الوصول إلى موارد Data Lake Storage Gen1. إذا كنت بحاجة إلى مساعدة خاصة، فيرجى الاتصال بنا.
| Data Lake Storage Gen1 cmdlet | Data Lake Storage cmdlet | ملاحظات |
|---|---|---|
| Get-AzDataLakeStoreChildItem | Get-AzDataLakeGen2ChildItem | بشكل افتراضي، لا يسرد cmdlet Get-AzDataLakeGen2ChildItem سوى العناصر الفرعية من المستوى الأول. تسرد المعلمة -Recurse العناصر الفرعية بصفةٍ متكررةٍ. |
| Get-AzDataLakeStoreItem Get-AzDataLakeStoreItemAclEntry Get-AzDataLakeStoreItemOwner Get-AzDataLakeStoreItemPermission |
Get-AzDataLakeGen2Item | تحتوي عناصر الإخراج الخاصة ب Get-AzDataLakeGen2Item cmdlet على هذه الخصائص: Acl، المالك، المجموعة، الإذن. |
| Get-AzDataLakeStoreItemContent | Get-AzDataLakeGen2FileContent | Get-AzDataLakeGen2FileContent cmdlet تقوم بتنزيل محتوى الملف إلى ملف محلي. |
| Move-AzDataLakeStoreItem | Move-AzDataLakeGen2Item | |
| New-AzDataLakeStoreItem | New-AzDataLakeGen2Item | يقوم cmdlet بتحميل محتوى الملف الجديد من ملف محلي. |
| Remove-AzDataLakeStoreItem | Remove-AzDataLakeGen2Item | |
| Set-AzDataLakeStoreItemOwner Set-AzDataLakeStoreItemPermission Set-AzDataLakeStoreItemAcl |
Update-AzDataLakeGen2Item | لا يقوم Update-AzDataLakeGen2Item cmdlet سوى بتحديث عنصر واحد وتجنب التكرار. إذا كنت ترغب في التحديث بشكل متكرر، فقم بإدراج العناصر باستخدام Cmdlet Get-AzDataLakeStoreChildItem، ثم المسار إلى Update-AzDataLakeGen2Item cmdlet. |
| Test-AzDataLakeStoreItem | Get-AzDataLakeGen2Item | يبلغ Cmdlet Get-AzDataLakeGen2Item عن خطأ إذا لم يكن العنصر موجودا. |