Partager via


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.

Syntaxe

ReceiveManual (Par défaut)

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>]

ItemPipeline

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 de stockage. Ce type de compte peut être créé en exécutant l’applet de commande « New-AzStorageAccount » 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 -InputObject paramètre 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 combinaison) 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.

Propriétés du paramètre

Type:

PSPathAccessControlEntry[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Context

Objet de contexte stockage Azure

Propriétés du paramètre

Type:IStorageContext
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.

Propriétés du paramètre

Type:IAzureContextContainer
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:AzureRmContext, AzureCredential

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FileSystem

Nom du système de fichiers

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ReceiveManual
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Group

Définit le groupe propriétaire de l’objet blob.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

Objet d’élément Azure Datalake Gen2 à mettre à jour

Propriétés du paramètre

Type:AzureDataLakeGen2Item
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ItemPipeline
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Metadata

Spécifie les métadonnées du répertoire ou du fichier.

Propriétés du paramètre

Type:Hashtable
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Owner

Définit le propriétaire de l’objet blob.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ReceiveManual
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:Hashtable
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

String

AzureDataLakeGen2Item

IStorageContext

Sorties

AzureDataLakeGen2Item