Update-AzDataLakeGen2Item

Werk een bestand of map bij op eigenschappen, metagegevens, machtigingen, ACL en eigenaar.

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

De cmdlet Update-AzDataLakeGen2Item werkt een bestand of map bij op eigenschappen, metagegevens, machtigingen, ACL en eigenaar. Deze cmdlet werkt alleen als hiërarchische naamruimte is ingeschakeld voor het opslagaccount. Dit type account kan worden gemaakt door de cmdlet New-AzStorageAccount uit te voeren met "-EnableHierarchicalNamespace $true".

Voorbeelden

Voorbeeld 1: Een ACL-object maken met 3 ACL-vermelding en ACL bijwerken naar alle items in een bestandssysteem recursief

$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

Met deze opdracht maakt u eerst een ACL-object met 3 acl-vermelding (gebruik de parameter -InputObject om acl-vermelding toe te voegen aan een bestaand acl-object), haal vervolgens alle items in een bestandssysteem op en werk acl bij op de items.

Voorbeeld 2: Alle eigenschappen van een bestand bijwerken en weergeven

$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

Met deze opdracht worden alle eigenschappen van een bestand (ACL, machtiging, eigenaar, groep, metagegevens, eigenschap bijgewerkt met elke samenvoeging) en weergegeven in de PowerShell-console.

Voorbeeld 3: Een ACL-vermelding toevoegen aan een map

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

Met deze opdracht wordt ACL opgehaald uit een map, wordt een ACL-vermelding bijgewerkt/toegevoegd en wordt deze teruggezet naar de map. Als de ACL-vermelding met hetzelfde AccessControlType/EntityId/DefaultScope niet bestaat, wordt er een nieuwe ACL-vermelding toegevoegd, anders wordt de machtiging voor bestaande ACL-vermelding bijgewerkt.

Parameters

-Acl

Hiermee stelt u POSIX-toegangsbeheerrechten in voor bestanden en mappen. Maak dit object met New-AzDataLakeGen2ItemAclObject.

Type:PSPathAccessControlEntry[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Context

Azure Storage-contextobject

Type:IStorageContext
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

De referenties, accounts, tenants en abonnementen die worden gebruikt voor communicatie met Azure.

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileSystem

Bestandsnaam

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Group

Hiermee stelt u de groep die eigenaar is van de blob in.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Azure Datalake Gen2-itemobject dat moet worden bijgewerkt

Type:AzureDataLakeGen2Item
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Metadata

Hiermee geeft u metagegevens voor de map of het bestand.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Owner

Hiermee stelt u de eigenaar van de blob in.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Het pad in het opgegeven bestandssysteem dat moet worden bijgewerkt. Kan een bestand of map zijn in de indeling 'directory/file.txt' of 'directory1/directory2/'. Als u deze parameter niet opgeeft, wordt de hoofdmap van het bestandssysteem bijgewerkt.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Permission

Hiermee stelt u POSIX-toegangsmachtigingen in voor de bestandseigenaar, de groep die eigenaar is van het bestand en andere. Aan elke klasse kan een machtiging voor lezen, schrijven of uitvoeren worden verleend. Symbolisch (rwxrw-rw-) wordt ondersteund. De plak-bit wordt ook ondersteund en wordt vertegenwoordigd door de letter t of T op de uiteindelijke tekenplaats, afhankelijk van of de uitvoeringsbit voor de andere categorie is ingesteld of uitgezet, afwezigheid van t of T geeft aan dat plakbit niet is ingesteld. Ongeldig in combinatie met ACL.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Hiermee geeft u eigenschappen voor de map of het bestand. De ondersteunde eigenschappen voor het bestand zijn: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage, ContentMD5, ContentType. De ondersteunde eigenschappen voor map zijn: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

String

AzureDataLakeGen2Item

IStorageContext

Uitvoerwaarden

AzureDataLakeGen2Item