Update-AzDataLakeGen2Item
Werk een bestand of map bij op eigenschappen, metagegevens, machtigingen, ACL en eigenaar.
Syntaxis
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 Update-AzDataLakeGen2Item cmdlet 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 -InputObject parameter om acl-vermelding toe te voegen aan 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 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Context
Azure Storage-contextobject
Type: | IStorageContext |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-DefaultProfile
De referenties, accounts, tenants en abonnementen die worden gebruikt voor communicatie met Azure.
Type: | IAzureContextContainer |
Aliassen: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-FileSystem
Bestandsnaam
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Group
Hiermee stelt u de groep die eigenaar is van de blob in.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Azure Datalake Gen2-itemobject dat moet worden bijgewerkt
Type: | AzureDataLakeGen2Item |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Metadata
Hiermee geeft u metagegevens voor de map of het bestand.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Owner
Hiermee stelt u de eigenaar van de blob in.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Path
Het pad in het opgegeven bestandssysteem dat moet worden bijgewerkt. Kan een bestand of map zijn in de indeling map/file.txtof directory1/directory2/. Als u deze parameter niet opgeeft, wordt de hoofdmap van het bestandssysteem bijgewerkt.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
Uitvoerwaarden
Azure PowerShell