Update-AzDataLakeGen2Item

Обновите файл или каталог по свойствам, метаданным, разрешениям, ACL и владельцу.

Синтаксис

ReceiveManual (По умолчанию)

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

Описание

Командлет Update-AzDataLakeGen2Item обновляет файл или каталог по свойствам, метаданным, разрешениям, ACL и владельцу. Этот командлет работает только в том случае, если иерархическое пространство имен включено для учетной записи хранения. Эту учетную запись можно создать с помощью командлета New-AzStorageAccount с помощью команды -EnableHierarchicalNamespace $true.

Примеры

Пример 1. Создание объекта ACL с записью 3 ACL и обновление ACL для всех элементов в файловой системе рекурсивно

$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

Эта команда сначала создает объект ACL с записью 3 acl (используйте параметр -InputObject для добавления записи acl в существующий объект acl), а затем получите все элементы в файловой системе и обновите список списка элементов.

Пример 2. Обновление всех свойств в файле и их отображение

$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

Эта команда обновляет все свойства в файле (ACL, разрешение, владелец, группа, метаданные, свойство можно обновить с помощью любого сочетания) и отобразить их в консоли PowerShell.

Пример 3. Добавление записи ACL в каталог

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

Эта команда получает ACL из каталога, обновляет или добавляет запись ACL и возвращается в каталог. Если запись ACL с той же записью AccessControlType/EntityId/DefaultScope не существует, добавьте новую запись ACL, а также измените разрешение на обновление существующей записи ACL.

Параметры

-Acl

Задает права управления доступом POSIX для файлов и каталогов. Создайте этот объект с помощью New-AzDataLakeGen2ItemAclObject.

Свойства параметров

Тип:

PSPathAccessControlEntry[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Context

Объект контекста служба хранилища Azure

Свойства параметров

Тип:IStorageContext
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.

Свойства параметров

Тип:IAzureContextContainer
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:AzureRmContext, AzureCredential

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FileSystem

Имя файловой системы

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ReceiveManual
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Group

Задает группу владельцев большого двоичного объекта.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

Azure Объект элемента Datalake 2-го поколения для обновления

Свойства параметров

Тип:AzureDataLakeGen2Item
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ItemPipeline
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Metadata

Задает метаданные для каталога или файла.

Свойства параметров

Тип:Hashtable
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Owner

Задает владельца большого двоичного объекта.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

Путь в указанной файловой системе, которая должна быть обновлена. Может быть файлом или каталогом в формате "directory/file.txt" или "directory1/directory2/". Не укажите этот параметр, обновит корневой каталог файловой системы.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ReceiveManual
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Permission

Задает разрешения доступа POSIX для владельца файла, группы владельцев файлов и других пользователей. Каждому классу может быть предоставлено разрешение на чтение, запись или выполнение. Поддерживается символьная (rwxrw-rw-). Липкий бит также поддерживается и его представлен буквой t или T в последнем месте символа в зависимости от того, установлен ли бит выполнения для другой категории или не задан соответственно, отсутствие t или T указывает, что липкий бит не задан. Недопустимо в сочетании с ACL.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Property

Задает свойства каталога или файла. Поддерживаемые свойства для файла: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage, ContentMD5, ContentType. Поддерживаемые свойства каталога: CacheControl, ContentDisposition, ContentEncoding, ContentLanguage.

Свойства параметров

Тип:Hashtable
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

String

AzureDataLakeGen2Item

IStorageContext

Выходные данные

AzureDataLakeGen2Item