Megosztás a következőn keresztül:


Update-AzDataLakeGen2Item

Frissítsen egy fájlt vagy könyvtárat a tulajdonságokról, metaadatokról, engedélyekről, ACL-ről és tulajdonosról.

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

Az Update-AzDataLakeGen2Item parancsmag frissít egy fájlt vagy könyvtárat a tulajdonságokról, metaadatokról, engedélyekről, ACL-ről és tulajdonosról. Ez a parancsmag csak akkor működik, ha a hierarchikus névtér engedélyezve van a Tárfiókhoz. Ez a fióktípus a "New-AzStorageAccount" parancsmag "-EnableHierarchicalNamespace $true" parancsmaggal hozható létre.

Példák

1. példa: Hozzon létre egy ACL-objektumot 3 ACL-bejegyzéssel, és frissítse az ACL-t a fájlrendszer minden elemére rekurzív módon

$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

Ez a parancs először létrehoz egy ACL-objektumot 3 acl bejegyzéssel (az -InputObject paraméterrel acl-bejegyzést hozzáadja a meglévő acl-objektumhoz), majd lekérheti a fájlrendszer összes elemét, és frissítheti az acl-et az elemeken.

2. példa: Egy fájl összes tulajdonságának frissítése és megjelenítése

$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

Ez a parancs frissíti a fájl összes tulajdonságát (ACL, engedély, tulajdonos, csoport, metaadatok, tulajdonság bármilyen konbinációval frissíthető), és megjeleníti őket a PowerShell-konzolon.

3. példa: ACL-bejegyzés hozzáadása egy könyvtárhoz

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

Ez a parancs lekéri az ACL-t egy könyvtárból, frissíti/hozzáad egy ACL-bejegyzést, és visszalép a könyvtárba. Ha nem létezik ugyanazzal az AccessControlType/EntityId/DefaultScope objektummal rendelkező ACL-bejegyzés, új ACL-bejegyzést ad hozzá, máskülönben frissíti a meglévő ACL-bejegyzés engedélyét.

Paraméterek

-Acl

A POSIX hozzáférés-vezérlési jogosultságainak beállítása fájlokon és könyvtárakon. Hozza létre ezt az objektumot a New-AzDataLakeGen2ItemAclObject használatával.

Típus:PSPathAccessControlEntry[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

Típus:SwitchParameter
Aliasok:cf
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Context

Azure Storage környezeti objektum

Típus:IStorageContext
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-DefaultProfile

Az Azure-ral való kommunikációhoz használt hitelesítő adatok, fiók, bérlő és előfizetés.

Típus:IAzureContextContainer
Aliasok:AzureRmContext, AzureCredential
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-FileSystem

Fájlrendszer neve

Típus:String
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Group

Beállítja a blob tulajdonoscsoportját.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-InputObject

Frissítendő Azure Datalake Gen2 elemobjektum

Típus:AzureDataLakeGen2Item
Position:Named
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Metadata

A könyvtár vagy fájl metaadatait adja meg.

Típus:Hashtable
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Owner

Beállítja a blob tulajdonosát.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Path

A megadott fájlrendszer azon elérési útja, amelyet frissíteni kell. Lehet fájl vagy könyvtár "directory/file.txt" vagy "directory1/directory2/" formátumban. Ha nem adja meg ezt a paramétert, az frissíti a fájlrendszer gyökérkönyvtárát.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Permission

POSIX-hozzáférési engedélyeket állít be a fájltulajdonos, a fájltulajdonosi csoport és mások számára. Minden osztály kaphat olvasási, írási vagy végrehajtási engedélyt. A szimbolikus (rwxrw-rw-) támogatott. A ragadós bit is támogatott, és a t vagy a T betű jelöli az utolsó karakter helyén attól függően, hogy a többi kategória végrehajtási bitje be van-e állítva, vagy nincs megadva, a t vagy a T hiánya azt jelzi, hogy nincs beállítva a ragadós bit. Az ACL-vel együtt érvénytelen.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Property

Megadja a könyvtár vagy fájl tulajdonságait. A fájl támogatott tulajdonságai a következők: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage, ContentMD5, ContentType. A címtár támogatott tulajdonságai a következők: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage.

Típus:Hashtable
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Típus:SwitchParameter
Aliasok:wi
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

String

AzureDataLakeGen2Item

IStorageContext

Kimenetek

AzureDataLakeGen2Item