Update-AzDataLakeGen2Item
Perbarui file atau direktori pada properti, metadata, izin, ACL, dan pemilik.
Sintaks
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>]
Deskripsi
Cmdlet Update-AzDataLakeGen2Item memperbarui file atau direktori pada properti, metadata, izin, ACL, dan pemilik. Cmdlet ini hanya berfungsi jika Namespace Hierarki diaktifkan untuk akun Penyimpanan. Akun semacam ini dapat dibuat dengan menjalankan cmdlet "New-AzStorageAccount" dengan "-EnableHierarchicalNamespace $true".
Contoh
Contoh 1: Buat objek ACL dengan entri 3 ACL, dan perbarui ACL ke semua item dalam Filesystem secara rekursif
$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
Perintah ini pertama-tama membuat objek ACL dengan entri 3 acl (gunakan parameter -InputObject untuk menambahkan entri acl ke objek acl yang ada), lalu mendapatkan semua item dalam sistem file dan memperbarui acl pada item.
Contoh 2: Memperbarui semua properti pada file, dan menampilkannya
$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
Perintah ini memperbarui semua properti pada file (ACL, izin, pemilik, grup, metadata, properti dapat diperbarui dengan konsol apa pun), dan menampilkannya di konsol Powershell.
Contoh 3: Menambahkan entri ACL ke direktori
## 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
Perintah ini mendapatkan ACL dari direktori, memperbarui/menambahkan entri ACL, dan mengatur kembali ke direktori. Jika entri ACL dengan AccessControlType/EntityId/DefaultScope yang sama tidak ada, akan menambahkan entri ACL baru, atau memperbarui izin entri ACL yang ada.
Parameter
-Acl
Mengatur hak kontrol akses POSIX pada file dan direktori. Buat objek ini dengan New-AzDataLakeGen2ItemAclObject.
Jenis: | PSPathAccessControlEntry[] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Aliases: | cf |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Context
Objek Konteks Azure Storage
Jenis: | IStorageContext |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DefaultProfile
Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan Azure.
Jenis: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FileSystem
Nama FileSystem
Jenis: | String |
Position: | 0 |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Group
Mengatur grup pemilik blob.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Objek Item Azure Datalake Gen2 untuk diperbarui
Jenis: | AzureDataLakeGen2Item |
Position: | Named |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Metadata
Menentukan metadata untuk direktori atau file.
Jenis: | Hashtable |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Owner
Mengatur pemilik blob.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Jalur dalam Sistem File yang ditentukan yang harus diperbarui. Dapat berupa file atau direktori Dalam format 'directory/file.txt' atau 'directory1/directory2/'. Tidak menentukan parameter ini akan memperbarui direktori akar Sistem File.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Permission
Mengatur izin akses POSIX untuk pemilik file, grup pemilik file, dan lainnya. Setiap kelas dapat diberikan izin baca, tulis, atau jalankan. Simbolis (rwxrw-rw-) didukung. Bit lengket juga didukung dan diwakili baik oleh huruf t atau T di tempat karakter akhir tergantung pada apakah bit eksekusi untuk kategori lain diatur atau tidak diatur masing-masing, tidak adanya t atau T menunjukkan bit lengket tidak diatur. Tidak valid bersama dengan ACL.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Menentukan properti untuk direktori atau file. Properti yang didukung untuk file adalah: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage, ContentMD5, ContentType. Properti yang didukung untuk direktori adalah: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage.
Jenis: | Hashtable |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Aliases: | wi |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |