Set-AzDataLakeGen2AclRecursive
Az ACL rekurzív beállítása a megadott útvonalon.
Syntax
Set-AzDataLakeGen2AclRecursive
[-FileSystem] <String>
[[-Path] <String>]
[-ContinuationToken <String>]
-Acl <PSPathAccessControlEntry[]>
[-ContinueOnFailure]
[-BatchSize <Int32>]
[-MaxBatchCount <Int32>]
[-AsJob]
[-Context <IStorageContext>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
A Set-AzDataLakeGen2AclRecursive parancsmag rekurzív módon állítja be az ACL-t a megadott útvonalon. A bemeneti ACL teljesen lecseréli az eredeti ACL-t.
Példák
1. példa: Az ACL rekurzív beállítása egy könyvtárban
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rw-" -InputObject $acl
Set-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -Context $ctx
FailedEntries :
TotalDirectoriesSuccessfulCount : 7
TotalFilesSuccessfulCount : 5
TotalFailureCount : 0
ContinuationToken :
Ez a parancs először létrehoz egy ACL-objektumot 3 acl bejegyzéssel, majd rekurzívan beállítja az ACL-t egy könyvtárban.
2. példa: Az ACL rekurzív beállítása a fájlrendszer gyökérkönyvtárán
$result = Set-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -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 = Set-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Acl $acl -ContinuationToken $result.ContinuationToken -Context $ctx
$result
FailedEntries :
TotalDirectoriesSuccessfulCount : 100
TotalFilesSuccessfulCount : 1000
TotalFailureCount : 0
ContinuationToken :
Ez a parancs először rekurzív módon állítja be az ACL-t egy gyökérkönyvtárra, és sikertelen volt, majd a sikertelen fájl kijavítása után folytassa a Folytatástokennel.
3. példa: Az ACL rekurzív adattömbök szerinti beállítása
$token = $null
$TotalDirectoriesSuccess = 0
$TotalFilesSuccess = 0
$totalFailure = 0
$FailedEntries = New-Object System.Collections.Generic.List[System.Object]
do
{
$result = Set-AzDataLakeGen2AclRecursive -FileSystem "filesystem1" -Path "dir1" -Acl $acl -BatchSize 100 -MaxBatchCount 2 -ContinuationToken $token -Context $ctx
# echo $result
$TotalFilesSuccess += $result.TotalFilesSuccessfulCount
$TotalDirectoriesSuccess += $result.TotalDirectoriesSuccessfulCount
$totalFailure += $result.TotalFailureCount
$FailedEntries += $result.FailedEntries
$token = $result.ContinuationToken
}while (($token -ne $null) -and ($result.TotalFailureCount -eq 0))
echo ""
echo "[Result Summary]"
echo "TotalDirectoriesSuccessfulCount: `t$($TotalDirectoriesSuccess)"
echo "TotalFilesSuccessfulCount: `t`t`t$($TotalFilesSuccess)"
echo "TotalFailureCount: `t`t`t`t`t$($totalFailure)"
echo "ContinuationToken: `t`t`t`t`t$($token)"
echo "FailedEntries:"$($FailedEntries | ft)
Ez a szkript újrakurzívan állítja be az ACL-t a címtár adattömbje szerint, az adattömb mérete Pedig BatchSize * MaxBatchCount. Ebben a szkriptben az adattömb mérete 200.
4. példa: Az ACL rekurzív beállítása egy könyvtárban és a ContinueOnFailure-ben, majd a hibákból való folytatás egyenként
$result = Set-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
}
Ez a parancs először rekurzív módon állítja be az ACL-t egy ContinueOnFailure könyvtárba, és néhány elem sikertelen volt, majd egyenként folytatja a sikertelen elemeket.
Paraméterek
-Acl
A POSIX hozzáférés-vezérlési listája, amely rekurzívan be van állítva a fájlhoz vagy könyvtárhoz.
Típus: | PSPathAccessControlEntry[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-AsJob
Parancsmag futtatása a háttérben
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-BatchSize
Ha az adathalmaz mérete meghaladja a köteg méretét, a művelet több kérelemre lesz felosztva, hogy nyomon lehessen követni az előrehaladást. A köteg méretének 1 és 2000 között kell lennie. Az alapértelmezett érték 2000.
Típus: | Int32 |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Típus: | SwitchParameter |
Aliasok: | cf |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Context
Azure Storage környezeti objektum
Típus: | IStorageContext |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-ContinuationToken
Folytatási jogkivonat.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-ContinueOnFailure
Állítsa be ezt a paramétert úgy, hogy figyelmen kívül hagyja a hibákat, és folytassa a művelettel való beszerzést a címtár más alentitásainál. Alapértelmezés szerint a művelet a hibák észlelésekor gyorsan leáll.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-DefaultProfile
Az Azure-ral való kommunikációhoz használt hitelesítő adatok, fiók, bérlő és előfizetés.
Típus: | IAzureContextContainer |
Aliasok: | AzureRmContext, AzureCredential |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-FileSystem
Fájlrendszer neve
Típus: | String |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-MaxBatchCount
Az egyszeri hozzáférés-vezérlési művelet által végrehajtható kötegek maximális száma. Ha az adatkészlet mérete meghaladja a BatchSize maxBatchCount szorzását, a folytatási jogkivonatot a rendszer visszaadja.
Típus: | Int32 |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Path
Az Acl rekurzív módosításához megadott fájlrendszer elérési útja. Fájl vagy könyvtár is lehet. "directory/file.txt" vagy "directory1/directory2/" formátumban. Ezt a paramétert hagyja ki úgy, hogy rekurzív módon módosítsa az Acl-t a fájlrendszer gyökérkönyvtárából.
Típus: | String |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Típus: | SwitchParameter |
Aliasok: | wi |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |