Update-AzDataLakeGen2Item
Mettez à jour un fichier ou un répertoire sur les propriétés, les métadonnées, l’autorisation, la liste de contrôle d’accès et le propriétaire.
Syntax
Update-AzDataLakeGen2Item
[-FileSystem] <String>
[-Path <String>]
[-Permission <String>]
[-Owner <String>]
[-Group <String>]
[-Property <Hashtable>]
[-Metadata <Hashtable>]
[-Acl <PSPathAccessControlEntry[]>]
[-Context <IStorageContext>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzDataLakeGen2Item
-InputObject <AzureDataLakeGen2Item>
[-Permission <String>]
[-Owner <String>]
[-Group <String>]
[-Property <Hashtable>]
[-Metadata <Hashtable>]
[-Acl <PSPathAccessControlEntry[]>]
[-Context <IStorageContext>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande Update-AzDataLakeGen2Item met à jour un fichier ou un répertoire sur les propriétés, les métadonnées, l’autorisation, la liste de contrôle d’accès et le propriétaire. Cette applet de commande fonctionne uniquement si l’espace de noms hiérarchique est activé pour le compte Stockage. Ce type de compte peut être créé en exécutant l’applet de commande « New-Az Stockage Account » avec « -EnableHierarchicalNamespace $true ».
Exemples
Exemple 1 : Créer un objet ACL avec 3 entrées de liste de contrôle d’accès et mettre à jour ACL pour tous les éléments d’un système de fichiers de manière récursive
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rwt" -InputObject $acl
Get-AzDataLakeGen2ChildItem -FileSystem "filesystem1" -Recurse | Update-AzDataLakeGen2Item -ACL $acl
FileSystem Name: filesystem1
Path IsDirectory Length LastModified Permissions Owner Group
---- ----------- ------ ------------ ----------- ----- -----
dir1 True 2020-03-13 13:07:34Z rwxrw-rwt $superuser $superuser
dir1/file1 False 1024 2020-03-23 09:29:18Z rwxrw-rwt $superuser $superuser
dir2 True 2020-03-23 09:28:36Z rwxrw-rwt $superuser $superuser
Cette commande crée d’abord un objet ACL avec une entrée acl 3 (utilisez le paramètre -InputObject pour ajouter une entrée acl à un objet acl existant), puis obtenez tous les éléments dans un système de fichiers et mettez à jour acl sur les éléments.
Exemple 2 : Mettre à jour toutes les propriétés d’un fichier et les afficher
$file = Update-AzDataLakeGen2Item -FileSystem "filesystem1" -Path "dir1/file1" `
-Acl $acl `
-Property @{"ContentType" = "image/jpeg"; "ContentMD5" = "i727sP7HigloQDsqadNLHw=="; "ContentEncoding" = "UDF8"; "CacheControl" = "READ"; "ContentDisposition" = "True"; "ContentLanguage" = "EN-US"} `
-Metadata @{"tag1" = "value1"; "tag2" = "value2" } `
-Permission rw-rw-rwx `
-Owner '$superuser' `
-Group '$superuser'
$file
FileSystem Name: filesystem1
Path IsDirectory Length LastModified Permissions Owner Group
---- ----------- ------ ------------ ----------- ----- -----
dir1/file1 False 1024 2020-03-23 09:57:33Z rwxrw-rw- $superuser $superuser
$file.ACL
DefaultScope AccessControlType EntityId Permissions
------------ ----------------- -------- -----------
False User rwx
False Group rw-
False Other rw-
$file.Permissions
Owner : Execute, Write, Read
Group : Write, Read
Other : Write, Read
StickyBit : False
ExtendedAcls : False
$file.Properties.Metadata
Key Value
--- -----
tag2 value2
tag1 value1
$file.Properties
LastModified : 3/23/2020 9:57:33 AM +00:00
CreatedOn : 3/23/2020 9:29:18 AM +00:00
Metadata : {[tag2, value2], [tag1, value1]}
CopyCompletedOn : 1/1/0001 12:00:00 AM +00:00
CopyStatusDescription :
CopyId :
CopyProgress :
CopySource :
CopyStatus : Pending
IsIncrementalCopy : False
LeaseDuration : Infinite
LeaseState : Available
LeaseStatus : Unlocked
ContentLength : 1024
ContentType : image/jpeg
ETag : "0x8D7CF109B9878CC"
ContentHash : {139, 189, 187, 176...}
ContentEncoding : UDF8
ContentDisposition : True
ContentLanguage : EN-US
CacheControl : READ
AcceptRanges : bytes
IsServerEncrypted : True
EncryptionKeySha256 :
AccessTier : Cool
ArchiveStatus :
AccessTierChangedOn : 1/1/0001 12:00:00 AM +00:00
Cette commande met à jour toutes les propriétés d’un fichier (ACL, autorisation, propriétaire, groupe, métadonnées, propriété peuvent être mises à jour avec n’importe quelle liaison) et les afficher dans la console PowerShell.
Exemple 3 : Ajouter une entrée de liste de contrôle d’accès à un répertoire
## Get the origin ACL
$acl = (Get-AzDataLakeGen2Item -FileSystem "filesystem1" -Path 'dir1/dir3/').ACL
# Update permission of a new ACL entry (if ACL entry with same AccessControlType/EntityId/DefaultScope not exist, will add a new ACL entry, else update permission of existing ACL entry)
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission rw- -InputObject $acl
# set the new acl to the directory
Update-AzDataLakeGen2Item -FileSystem "filesystem1" -Path 'dir1/dir3/' -ACL $acl
FileSystem Name: filesystem1
Path IsDirectory Length LastModified Permissions Owner Group
---- ----------- ------ ------------ ----------- ----- -----
dir1/dir3 True 2020-03-23 09:34:31Z rwxrw-rw-+ $superuser $superuser
Cette commande obtient la liste de contrôle d’accès à partir d’un répertoire, met à jour/ajoute une entrée de liste de contrôle d’accès et revient au répertoire. Si l’entrée ACL avec le même AccessControlType/EntityId/DefaultScope n’existe pas, ajoutez une nouvelle entrée de liste de contrôle d’accès, sinon l’autorisation de mise à jour de l’entrée ACL existante.
Paramètres
-Acl
Définit les droits de contrôle d’accès POSIX sur les fichiers et les répertoires. Créez cet objet avec New-AzDataLakeGen2ItemAclObject.
Type: | PSPathAccessControlEntry[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Context
objet de contexte Stockage Azure
Type: | IStorageContext |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DefaultProfile
Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FileSystem
Nom du système de fichiers
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Group
Définit le groupe propriétaire de l’objet blob.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Objet d’élément Azure Datalake Gen2 à mettre à jour
Type: | AzureDataLakeGen2Item |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
Spécifie les métadonnées du répertoire ou du fichier.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Owner
Définit le propriétaire de l’objet blob.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Chemin d’accès dans le système de fichiers spécifié qui doit être mis à jour. Il peut s’agir d’un fichier ou d’un répertoire au format « directory/file.txt » ou « directory1/directory2/ ». Vous ne spécifiez pas ce paramètre pour mettre à jour le répertoire racine du système de fichiers.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Permission
Définit les autorisations d’accès POSIX pour le propriétaire du fichier, le groupe propriétaire de fichiers et d’autres utilisateurs. Chaque classe peut recevoir une autorisation de lecture, d’écriture ou d’exécution. Symbolique (rwxrw-rw-) est pris en charge. Le bit collant est également pris en charge et est représenté par la lettre t ou T dans le caractère final, selon que le bit d’exécution pour les autres catégories est défini ou non défini respectivement, l’absence de t ou T indique que le bit collant n’est pas défini. Non valide conjointement avec la liste de contrôle d’accès.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Spécifie les propriétés du répertoire ou du fichier. Les propriétés prises en charge pour le fichier sont : CacheControl, ContentDisposition, ContentEncoding, ContentLanguage, ContentMD5, ContentType. Les propriétés prises en charge pour le répertoire sont : CacheControl, ContentDisposition, ContentEncoding, ContentLanguage.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Sorties
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour