Set-AzDataLakeGen2AclRecursive

ACL'yi belirtilen yolda özyinelemeli olarak ayarlayın.

Syntax

Default (Varsayılan)

Set-AzDataLakeGen2AclRecursive
    [-FileSystem] <String>
    [[-Path] <String>]
    [-ContinuationToken <String>]
    -Acl <PSPathAccessControlEntry[]>
    [-ContinueOnFailure]
    [-BatchSize <Int32>]
    [-MaxBatchCount <Int32>]
    [-AsJob]
    [-Context <IStorageContext>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Set-AzDataLakeGen2AclRecursive cmdlet'i ACL'yi belirtilen yolda özyinelemeli olarak ayarlar. Giriş ACL'i özgün ACL'nin yerini tamamen alır.

Örnekler

Örnek 1: Dizinde özyinelemeli olarak ACL ayarlama

$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               :

Bu komut önce 3 acl girişi olan bir ACL nesnesi oluşturur, ardından ACL'yi bir dizinde özyinelemeli olarak ayarlar.

Örnek 2: ACL'i dosya sisteminin kök dizininde özyinelemeli olarak ayarlama

$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               :

Bu komut önce ACL'yi özyinelemeli olarak bir kök dizine ayarlar ve başarısız olur, ardından kullanıcı başarısız dosyayı düzelttikte ContinuationToken ile devam eder.

Örnek 3: ACL'yi öbeklere göre özyinelemeli olarak ayarlama

$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)

Bu betik, ACL'yi öbeklere göre dizin öbeklerinde özyinelemeli olarak, öbek boyutu BatchSize * MaxBatchCount olarak ayarlar. Bu betikte öbek boyutu 200'dür.

Örnek 4: ACL'yi bir dizinde ve ContinueOnFailure'da özyinelemeli olarak ayarlayın, ardından hatalardan birer birer devam edin

$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
        }

Bu komut önce ACL'yi Yinelemeli olarak ContinueOnFailure ile bir dizine ayarlar ve bazı öğeler başarısız olur, ardından başarısız olan öğeleri birer birer sürdürür.

Parametreler

-Acl

Dosya veya dizin için özyinelemeli olarak ayarlanacağı POSIX erişim denetimi listesi.

Parametre özellikleri

Tür:

PSPathAccessControlEntry[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-AsJob

Cmdlet'i arka planda çalıştırma

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-BatchSize

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.

Parametre özellikleri

Tür:Int32
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Cf

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Context

bağlam nesnesini Azure Depolama

Parametre özellikleri

Tür:IStorageContext
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-ContinuationToken

Devamlılık Belirteci.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-ContinueOnFailure

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.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-DefaultProfile

Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik.

Parametre özellikleri

Tür:IAzureContextContainer
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:AzureRmContext, AzureCredential

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-FileSystem

FileSystem adı

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-MaxBatchCount

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.

Parametre özellikleri

Tür:Int32
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Path

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.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:1
Zorunlu:False
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-WhatIf

Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Wi

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

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.

Girişler

String

IStorageContext

Çıkışlar

String