Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, hiyerarşik ad alanına sahip depolama hesaplarında dizinler ve dosyalar oluşturmak ve yönetmek için PowerShell'in nasıl kullanılacağı gösterilmektedir.
Dizinlerin ve dosyaların erişim denetim listelerini (ACL) alma, ayarlama ve güncelleştirme hakkında bilgi edinmek için bkz . Azure Data Lake Storage'da ACL'leri yönetmek için PowerShell kullanma.
Referans | 1. Nesil ile 2. Nesil eşlemesi | Geri bildirim ver
Önkoşullar
Azure aboneliği. Daha fazla bilgi için bkz . Azure ücretsiz deneme sürümünü edinme.
Hiyerarşik ad alanı etkinleştirilmiş bir depolama hesabı. Bu yönergeleri izleyerek bir tane oluşturun.
.NET Framework 4.7.2 veya üzeri yüklüdür. Daha fazla bilgi için bkz . .NET Framework'i indirme.
PowerShell sürümü
5.1veya üzeri.
PowerShell modülünü yükleme
Yüklü PowerShell sürümünün
5.1veya daha yüksek olduğunu aşağıdaki komutu kullanarak doğrulayın.echo $PSVersionTable.PSVersion.ToString()PowerShell sürümünüzü yükseltmek için bkz . Mevcut Windows PowerShell'i yükseltme
Az.Storage modülünü yükleyin.
Install-Module Az.Storage -Repository PSGallery -ForcePowerShell modüllerini yükleme hakkında daha fazla bilgi için bkz . Azure PowerShell modülünü yükleme
Hesaba bağlanma
Bir Windows PowerShell komut penceresi açın, ardından Connect-AzAccount komutuyla Azure aboneliğinizde oturum açın ve ekrandaki yönergeleri izleyin.
Connect-AzAccountKimliğiniz birden fazla abonelikle ilişkiliyse ve aboneliği seçmeniz istenmiyorsa etkin aboneliğinizi üzerinde çalışmak istediğiniz depolama hesabının aboneliğine ayarlayın. Bu örnekte yer tutucu değerini aboneliğinizin kimliğiyle değiştirin
<subscription-id>.Select-AzSubscription -SubscriptionId <subscription-id>Depolama hesabı bağlamını alın.
$ctx = New-AzStorageContext -StorageAccountName '<storage-account-name>' -UseConnectedAccount
Kapsayıcı oluşturma
Kapsayıcı, dosyalarınız için dosya sistemi görevi görür. New-AzStorageContainer cmdlet'ini kullanarak oluşturabilirsiniz.
Bu örnek adlı my-file-systembir kapsayıcı oluşturur.
$filesystemName = "my-file-system"
New-AzStorageContainer -Context $ctx -Name $filesystemName
Dizin oluşturma
New-AzDataLakeGen2Item cmdlet'ini kullanarak bir dizin başvurusu oluşturun.
Bu örnek, kapsayıcıya adlı my-directory bir dizin ekler.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Directory
Bu örnek aynı dizini ekler, ancak izinleri, umask'ı, özellik değerlerini ve meta veri değerlerini de ayarlar.
$dir = New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Directory -Permission rwxrwxrwx -Umask ---rwx--- -Property @{"ContentEncoding" = "UDF8"; "CacheControl" = "READ"} -Metadata @{"tag1" = "value1"; "tag2" = "value2" }
Dizin özelliklerini göster
Bu örnek Get-AzDataLakeGen2Item cmdlet'ini kullanarak bir dizin alır ve ardından özellik değerlerini konsola yazdırır.
$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
Not
Kapsayıcının kök dizinini almak için -Path parametresini atlayın.
Bir dizini yeniden adlandırma veya taşıma
Move-AzDataLakeGen2Item cmdlet'ini kullanarak dizini yeniden adlandırın veya taşıyın.
Bu örnek, adından my-directory bir dizini adına my-new-directoryyeniden adlandırır.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
$dirname2 = "my-new-directory/"
Move-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -DestFileSystem $filesystemName -DestPath $dirname2
Not
Komut istemi olmadan üzerine yazmak istiyorsanız -Force parametresini kullanın.
Bu örnek, my-directory adlı bir dizini, my-directory-2'in my-subdirectory adlı alt dizinine taşır.
$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
Bir dizini silme
Remove-AzDataLakeGen2Item cmdlet'ini kullanarak bir dizini silin.
Bu örnekte adlı my-directorybir dizin silinir.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
Remove-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname
parametresini -Force kullanarak dosyayı istem olmadan kaldırabilirsiniz.
Dizinden indirme
Get-AzDataLakeGen2ItemContent cmdlet'ini kullanarak dizinden bir dosya indirin.
Bu örnekte, my-directory adlı dizinden upload.txt adlı bir dosya indirilir.
$filesystemName = "my-file-system"
$filePath = "my-directory/upload.txt"
$downloadFilePath = "download.txt"
Get-AzDataLakeGen2ItemContent -Context $ctx -FileSystem $filesystemName -Path $filePath -Destination $downloadFilePath
Dizin içeriğini listeleme
Get-AzDataLakeGen2ChildItem cmdlet'ini kullanarak dizinin içeriğini listeleyin. kullanıcıların adını (nesne kimliği yerine) almak için isteğe bağlı parametresini -OutputUserPrincipalName kullanabilirsiniz.
Bu örnekte adlı my-directorydizinin içeriği listelenir.
$filesystemName = "my-file-system"
$dirname = "my-directory/"
Get-AzDataLakeGen2ChildItem -Context $ctx -FileSystem $filesystemName -Path $dirname -OutputUserPrincipalName
Aşağıdaki örnek, dizindeki ACLher öğenin , Permissions, Groupve Owner özelliklerini listeler.
-FetchProperty özelliği için değerleri almak için ACL parametresi gereklidir.
$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
Not
Kapsayıcının kök dizininin içeriğini listelemek için -Path parametresini atlayın.
Dizine dosya yükleme
New-AzDataLakeGen2Item cmdlet'ini kullanarak bir dosyayı bir dizine yükleyin.
Bu örnek, upload.txt adlı dosyayı my-directory adlı bir dizine yükler.
$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
Bu örnek aynı dosyayı karşıya yükler, ancak ardından hedef dosyanın izinlerini, umask'sini, özellik değerlerini ve meta veri değerlerini ayarlar. Bu örnek, bu değerleri konsola da yazdırır.
$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
Dikkat
Kapsayıcının kök dizinine dosya yüklemek için -Path parametresini atlayın.
Dosya özelliklerini göster
Bu örnek Get-AzDataLakeGen2Item cmdlet'ini kullanarak bir dosya alır ve ardından özellik değerlerini konsola yazdırır.
$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
Dosya silme
Remove-AzDataLakeGen2Item cmdlet'ini kullanarak bir dosyayı silin.
Bu örnekte adlı upload.txtbir dosya silinir.
$filesystemName = "my-file-system"
$filepath = "upload.txt"
Remove-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $filepath
parametresini -Force kullanarak dosyayı istem olmadan kaldırabilirsiniz.
Birinci Nesilden İkinci Nesile Dönüştürme
Aşağıdaki tabloda, Data Lake Storage 1. Nesil için kullanılan cmdlet'lerin Data Lake Storage cmdlet'leriyle nasıl eşlenmiş olduğu gösterilmektedir.
Not
Azure Data Lake Storage 1. Nesil artık kullanımdan kaldırıldı. Kullanımdan kaldırma duyurusunu buradan görebilirsiniz. Data Lake Storage 1. Nesil kaynaklara artık erişilemez. Özel yardıma ihtiyacınız varsa lütfen bizimle iletişime geçin.
| Data Lake Storage Gen1 cmdlet | Data Lake Storage komut kümesi | Notlar |
|---|---|---|
| Get-AzDataLakeStoreChildItem | Get-AzDataLakeGen2ChildItem | Varsayılan olarak, Get-AzDataLakeGen2ChildItem cmdlet'i yalnızca birinci düzey alt öğeleri listeler. -Recurse parametresi alt öğeleri tekrarlı olarak listeler. |
| Get-AzDataLakeStoreItem Get-AzDataLakeStoreItemAclEntry Get-AzDataLakeStoreItemOwner (Veri Gölü Mağaza Öğesi Sahibini Al) Get-AzDataLakeStoreItemPermission |
Get-AzDataLakeGen2Item | Get-AzDataLakeGen2Item cmdlet'in çıkış öğeleri şu özelliklere sahiptir: Acl, Sahip, Grup, İzin. |
| Get-AzDataLakeStoreItemContent | Get-AzDataLakeGen2FileContent | Get-AzDataLakeGen2FileContent cmdlet'i dosya içeriğini yerel dosyaya indirir. |
| Move-AzDataLakeStoreItem | Move-AzDataLakeGen2Item | |
| New-AzDataLakeStoreItem | New-AzDataLakeGen2Item | Bu cmdlet, yeni dosya içeriğini yerel dosyadan karşıya yükler. |
| Remove-AzDataLakeStoreItem | Remove-AzDataLakeGen2Item | |
| Set-AzDataLakeStoreItemOwner Set-AzDataLakeStoreItemPermission Set-AzDataLakeStoreItemAcl |
Update-AzDataLakeGen2Item | Update-AzDataLakeGen2Item cmdlet'i, yinelemeli olarak değil yalnızca tek bir öğeyi güncelleştirir. Özyinelemeli olarak güncelleştirmek istiyorsanız, öğeleri Get-AzDataLakeStoreChildItem cmdlet'ini kullanarak listeleyin ve ardından bunları işlem hattıyla Update-AzDataLakeGen2Item cmdlet'ine yönlendirin. |
| Test-AzDataLakeStoreItem | Get-AzDataLakeGen2Item | Get-AzDataLakeGen2Item cmdleti, öğe yoksa hata mesajı verir. |