Esse comando primeiro cria um objeto ACL com 3 entradas de acl e, em seguida, define ACL recursivamente em um diretório.
Exemplo 2: Definir ACL recursivamente em um diretório raiz do sistema de arquivos
$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 :
Esse comando primeiro define a ACL recursivamente para um diretório raiz e falhou e, em seguida, retoma com ContinuationToken depois que o usuário corrige o arquivo com falha.
Esse script define ACL recursivamente em parte de diretório por parte, com tamanho de parte como BatchSize * MaxBatchCount. O tamanho da parte é 200 neste script.
Exemplo 4: Definir ACL recursivamente em um diretório e ContinueOnFailure e, em seguida, retomar das falhas um a um
$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
}
Esse comando primeiro define a ACL recursivamente para um diretório com ContinueOnFailure e alguns itens falharam e, em seguida, retomam os itens com falha um a um.
Parâmetros
-Acl
A lista de controle de acesso POSIX a ser definida recursivamente para o arquivo ou diretório.
Se o tamanho do conjunto de dados exceder o tamanho do lote, a operação será dividida em várias solicitações para que o progresso possa ser acompanhado.
O tamanho do lote deve estar entre 1 e 2000.
O padrão é 2000.
Defina esse parâmetro para ignorar falhas e continuar o processamento com a operação em outras sub-entidades do diretório. Padrão, a operação será encerrada rapidamente ao encontrar falhas.
Número máximo de lotes que a operação controle de acesso de alteração única pode ser executada. Se o tamanho do conjunto de dados exceder MaxBatchCount multiplicar BatchSize, o token de continuação será retornado.
O caminho no FileSystem especificado que para alterar Acl recursivamente.
Pode ser um arquivo ou diretório.
No formato 'directory/file.txt' ou 'directory1/directory2/'.
Ignore definir esse parâmetro para alterar acl recursivamente do diretório raiz do sistema de arquivos.
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.