Remove-AzDataLakeGen2AclRecursive cmdlet'i belirtilen yolda ACL'yi özyinelemeli olarak kaldırır.
Giriş ACL girişleriyle (farklı izinlere sahip olsa bile) wil lbe'nin kaldırıldığı aynı AccessControlType, DefaultScope ve EntityId değerlerine sahip özgün ACL'deki ACL girişleri.
Örnekler
Örnek 1: Dosya sisteminin kök dizininde ACL'yi özyinelemeli olarak kaldırma
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission r-x -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission r-x -InputObject $acl
Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Acl $acl -Context $ctx
WARNING: To find the ACL Entry to remove, will only compare AccessControlType, DefaultScope and EntityId, will omit Permission.
FailedEntries :
TotalDirectoriesSuccessfulCount : 7
TotalFilesSuccessfulCount : 5
TotalFailureCount : 0
ContinuationToken :
Bu komut önce 2 acl girişi olan bir ACL nesnesi oluşturur, ardından bir dosya sisteminin kök dizininde ACL'yi özyinelemeli olarak kaldırır.
Örnek 2: Dizinde ACL'yi özyinelemeli olarak kaldırma
$result = Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -Context $ctx
WARNING: To find the ACL Entry to remove, will only compare AccessControlType, DefaultScope and EntityId, will omit Permission.
$result
FailedEntries : {dir1/dir2/file4}
TotalDirectoriesSuccessfulCount : 500
TotalFilesSuccessfulCount : 2500
TotalFailureCount : 1
ContinuationToken : VBaHi5TfyO2ai1wYTRhIL2FjbGNibjA2c3RmATAxRDVEN0UzRENFQzZCRTAvYWRsc3Rlc3QyATAxRDY2M0ZCQTZBN0JGQTkvZGlyMC9kaXIxL2ZpbGUzFgAAAA==
$result.FailedEntries
Name IsDirectory ErrorMessage
---- ----------- ------------
dir0/dir2/file4 False This request is not authorized to perform this operation using this permission.
# user need fix the failed item , then can resume with ContinuationToken
$result = Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -ContinuationToken $result.ContinuationToken -Context $ctx
WARNING: To find the ACL Entry to remove, will only compare AccessControlType, DefaultScope and EntityId, will omit Permission.
$result
FailedEntries :
TotalDirectoriesSuccessfulCount : 100
TotalFilesSuccessfulCount : 1000
TotalFailureCount : 0
ContinuationToken :
Bu komut önce bir dizindeki ACL'yi özyinelemeli olarak kaldırır ve başarısız olur, ardından kullanıcı başarısız dosyayı düzelttikte ContinuationToken ile devam eder.
Örnek 3: Öbeklere göre özyinelemeli olarak ACL'yi kaldırma
Bu betik, öbek boyutu BatchSize * MaxBatchCount olarak olacak şekilde dizin öbekleri üzerindeki ACL'yi özyinelemeli olarak kaldırır. Bu betikte öbek boyutu 50000'dir.
Örnek 4: Bir dizinde ve ContinueOnFailure'da özyinelemeli olarak ACL'yi kaldırın, ardından hatalardan birer birer devam edin
$result = Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -ContinueOnFailure -Context $ctx
$result
FailedEntries : {dir0/dir1/file1, dir0/dir2/file4}
TotalDirectoriesSuccessfulCount : 100
TotalFilesSuccessfulCount : 500
TotalFailureCount : 2
ContinuationToken : VBaHi5TfyO2ai1wYTRhIL2FjbGNibjA2c3RmATAxRDVEN0UzRENFQzZCRTAvYWRsc3Rlc3QyATAxRDY2M0ZCQTZBN0JGQTkvZGlyMC9kaXIxL2ZpbGUzFgAAAA==
$result.FailedEntries
Name IsDirectory ErrorMessage
---- ----------- ------------
dir0/dir1/file1 False This request is not authorized to perform this operation using this permission.
dir0/dir2/file4 False This request is not authorized to perform this operation using this permission.
# user need fix the failed item , then can resume with ContinuationToken
foreach ($path in $result.FailedEntries.Name)
{
# user code to fix failed entry in $path
#set ACL again
Remove-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path $path -Acl $acl -Context $ctx
}
Bu komut önce ContinueOnFailure ile bir dizine özyinelemeli olarak ACL'yi kaldırır ve bazı öğeler başarısız olur, ardından başarısız olan öğeleri tek tek sürdürür.
Parametreler
-Acl
Dosya veya dizin için özyinelemeli olarak ayarlanacağı POSIX erişim denetimi listesi.
Veri kümesi boyutu toplu iş boyutunu aşarsa, ilerlemenin izlenebilmesi için işlem birden çok isteğe bölünür.
Toplu iş boyutu 1 ile 2000 arasında olmalıdır.
Varsayılan değer 2000'dir.
Hataları yoksaymak ve dizinin diğer alt varlıklarında işlemle işlemeye devam etmek için bu parametreyi ayarlayın. Varsayılan olarak işlem hatalarla karşılaşıldığında hızla sonlandırılır.
Tek değişiklik Access Control işlemin yürütebileceği en fazla toplu işlem sayısı. Veri kümesi boyutu MaxBatchCount batchSize çarpmasını aşarsa, devamlılık belirteci döndürülecektir.
Belirtilen FileSystem'da Acl'yi yinelemeli olarak değiştirecek yol.
Dosya veya dizin olabilir.
'directory/file.txt' veya 'directory1/directory2/' biçiminde.
Acl'yi Dosya Sisteminin kök dizininden özyinelemeli olarak değiştirmek için bu parametreyi ayarlamayı atlayın.
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.