Cmdleten Update-AzDataLakeGen2AclRecursive uppdaterar ACL rekursivt på den angivna sökvägen.
Indata-ACL:en sammanfogar den ursprungliga ACL:en: Om ACL-posten med samma AccessControlType/EntityId/DefaultScope finns uppdaterar du behörigheten. annars lägger du till en ny ACL-post.
Exempel
Exempel 1: Uppdatera ACL rekursivt på en rotkatalog för filsystemet
Det här kommandot skapar först ett ACL-objekt med 3 acl-poster och uppdaterar sedan ACL rekursivt på en rotkatalog i ett filsystem.
Exempel 2: Uppdatera ACL rekursivt på en katalog och återuppta från fel med ContinuationToken
$result = Update-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -Context $ctx
$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 = Update-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -ContinuationToken $result.ContinuationToken -Context $ctx
$result
FailedEntries :
TotalDirectoriesSuccessfulCount : 100
TotalFilesSuccessfulCount : 1000
TotalFailureCount : 0
ContinuationToken :
Det här kommandot uppdaterar först ACL rekursivt till en katalog och misslyckades och återupptar sedan med ContinuationToken när användaren har korrigerat den misslyckade filen.
Exempel 3: Uppdatera ACL rekursivt segment för segment
Det här skriptet uppdaterar ACL rekursivt på katalogsegment efter segment, med segmentstorlek som BatchSize * MaxBatchCount. Segmentstorleken är 5 000 i det här skriptet.
Exempel 4: Uppdatera ACL rekursivt i en katalog och ContinueOnFailure och återuppta sedan från fel en efter en
$result = Update-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
Set-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path $path -Acl $acl -Context $ctx
}
Det här kommandot uppdaterar först ACL rekursivt till en katalog med ContinueOnFailure, och vissa objekt misslyckades och återupptar sedan de misslyckade objekten en efter en.
Parametrar
-Acl
POSIX-åtkomstkontrollistan som ska ställas in rekursivt för filen eller katalogen.
Om datauppsättningens storlek överskrider batchstorleken delas åtgärden upp i flera begäranden så att förloppet kan spåras.
Batchstorleken ska vara mellan 1 och 2000.
Standardvärdet är 2000.
Ange den här parametern för att ignorera fel och fortsätta bearbetningen med åtgärden på andra underentiteter i katalogen. Standardåtgärden avslutas snabbt vid fel.
Maximalt antal batchar som en ändringsåtgärd för åtkomstkontroll kan köras. Om datamängdens storlek överskrider MaxBatchCount multiplicerar BatchSize returneras fortsättningstoken.
Sökvägen i det angivna FileSystem som du vill ändra Acl rekursivt.
Kan vara en fil eller katalog.
I formatet "directory/file.txt" eller "directory1/directory2/".
Hoppa över att ange den här parametern för att ändra Acl rekursivt från rotkatalogen i filsystemet.
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.