Path - Update
Добавление данных | Очистка данных | Задание свойств | Настройка управления доступом
Отправляет данные, добавляемые к файлу, сбрасывает (записывает) ранее отправленные данные в файл, задает свойства файла или каталога или задает управление доступом для файла или каталога. Данные могут быть добавлены только в файл. Одновременные записи в один файл с несколькими клиентами не поддерживаются. Эта операция поддерживает условные HTTP-запросы. Дополнительные сведения см. в разделе Указание условных заголовков для операций службы BLOB-объектов.
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}&position={position}&retainUncommittedData={retainUncommittedData}&close={close}&mode={mode}&maxRecords={maxRecords}&forceFlag={forceFlag}&continuation={continuation}&flush={flush}&timeout={timeout}
Параметры URI
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
account
|
path | True |
string |
Имя учетной записи хранения Azure. |
dns
|
path | True |
string |
Суффикс DNS для конечной точки Azure Data Lake Storage. |
filesystem
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$ |
Идентификатор файловой системы. |
path
|
path | True |
string |
Путь к файлу или каталогу. |
action
|
query | True |
Действие должно быть "добавление" для отправки данных, добавляемых в файл, "очистка", чтобы очистить ранее отправленные данные в файл, setProperties, чтобы задать свойства файла или каталога, или setAccessControl, чтобы задать владельца, группы, разрешения или список управления доступом для файла или каталога, или setAccessControlRecursive, чтобы задать список управления доступом для каталога рекурсивно. Обратите внимание, что иерархическое пространство имен должно быть включено для учетной записи, чтобы использовать управление доступом. Кроме того, обратите внимание, что список управления доступом (ACL) включает разрешения для владельца, владельца группы и других, поэтому заголовки запросов x-ms-ms и x-ms-acl являются взаимоисключающими. |
|
close
|
query |
boolean |
События службы хранилища Azure позволяют приложениям получать уведомления при изменении файлов. При включении событий службы хранилища Azure вызывается событие изменения файла. Это событие имеет свойство, указывающее, является ли это окончательным изменением, чтобы различать разницу между промежуточным сбросом в поток файлов и окончательным закрытием потока файлов. Параметр близкого запроса действителен только в том случае, если действие имеет значение "очистка" и включены уведомления об изменениях. Если значение закрытия равно true, а операция очистки завершается успешно, служба вызывает уведомление об изменении файла со свойством, указывающее, что это окончательное обновление (файловый поток был закрыт). Если "false" вызывается уведомление об изменении, указывающее, что файл изменился. Значение по умолчанию — false. Этот параметр запроса имеет значение true драйвером Hadoop ABFS, чтобы указать, что поток файлов закрыт". |
|
continuation
|
query |
string |
Необязательный и допустимый только для операции setAccessControlRecursive. Количество путей, обрабатываемых с каждым вызовом, ограничено. Если количество обработанных путей превышает это ограничение, маркер продолжения возвращается в заголовке ответа x-ms-продолжения. Когда маркер продолжения возвращается в ответе, он должен быть закодирован процентом и указан в последующем вызове операции setAccessControlRecursive. |
|
flush
|
query |
boolean |
Допустимо только для вызовов добавления. Этот параметр позволяет вызывающему объекту очищать во время вызова добавления. Значение по умолчанию — false, если "true" данные будут промыты с помощью вызова добавления. Обратите внимание, что при использовании flush=true следующие заголовки не поддерживаются: x-ms-cache-control, x-ms-content-encoding, x-ms-content-type, x-ms-content-language, x-ms-content-language, x-ms-content-md5, x-ms-content-disposition. Чтобы задать эти заголовки во время очистки, используйте action=flush |
|
force
|
query |
boolean |
Необязательный и допустимый только для операции setAccessControlRecursive. Если это "false" операция завершится быстро при обнаружении ошибок пользователя (4XX). Если api true будет игнорировать ошибки пользователя и продолжить операцию с другими под сущностями каталога. Подробное состояние ошибок пользователя будет возвращено в ответе на любой сценарий. Маркер продолжения возвращается только в том случае, если forceFlag имеет значение true в случае ошибок пользователя. Значение по умолчанию для forceFlag равно false. |
|
max
|
query |
integer (int32) minimum: 1 |
Необязательный и допустимый только для операции setAccessControlRecursive. Он указывает максимальное количество файлов или каталогов, к которым будет применено изменение списка. Если опущено или больше 2000, запрос будет обрабатывать до 2000 элементов |
|
mode
|
query |
string |
Необязательно. Допустимый и обязательный для операции setAccessControlRecursive. Режим "set" задает права управления доступом POSIX для файлов и каталогов, "изменить" изменяет один или несколько прав управления доступом POSIX, которые ранее существуют в файлах и каталогах, "remove" удаляет один или несколько прав управления доступом POSIX, которые присутствовали ранее в файлах и каталогах. |
|
position
|
query |
integer (int64) |
Этот параметр позволяет вызывающему объекту отправлять данные параллельно и управлять порядком добавления к файлу. Это необходимо при отправке данных, добавляемых в файл, и при очистке ранее отправленных данных в файл. Значение должно быть положением, в котором должны быть добавлены данные. Отправленные данные не сразу сбрасываются или записываются в файл. Для очистки ранее отправленные данные должны быть смежными, параметр позиции должен быть указан и равен длине файла после записи всех данных, и не должен быть текст сущности запроса, включенный в запрос. |
|
retain
|
query |
boolean |
Допустимо только для операций очистки. Если значение true, незафиксированные данные сохраняются после завершения операции очистки; в противном случае незафиксированные данные удаляются после операции очистки. Значение по умолчанию — false. Данные при смещениях меньше указанной позиции записываются в файл при успешном сбросе, но этот необязательный параметр позволяет сохранять данные после сохранения позиции очистки для будущей операции очистки. |
|
timeout
|
query |
integer (int32) minimum: 1 |
Необязательное значение времени ожидания операции в секундах. Период начинается при получении запроса службой. Если значение времени ожидания истекает до завершения операции, операция завершается ошибкой. |
Заголовок запроса
Media Types: "application/octet-stream", "text/plain"
Имя | Обязательно | Тип | Описание |
---|---|---|---|
Content-Length |
integer (int64) minimum: 0 |
Требуется для добавления данных и данных Flush. Должно иметь значение 0 для параметра "Данные Flush". Должна быть длина содержимого запроса в байтах для добавления данных. |
|
Content-MD5 |
string |
Необязательно. Хэш MD5 содержимого запроса. Этот заголовок действителен для операций "Добавление" и "Flush". Этот хэш используется для проверки целостности содержимого запроса во время транспорта. При указании этого заголовка служба хранилища сравнивает хэш содержимого, которое прибыло со значением этого заголовка. Если два хэша не соответствуют, операция завершится ошибкой с кодом ошибки 400 (недопустимый запрос). Обратите внимание, что этот хэш MD5 не хранится в файле. Этот заголовок связан с содержимым запроса, а не с сохраненным содержимым самого файла. |
|
x-ms-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Идентификатор аренды должен быть указан, если имеется активная аренда. Недопустимо для операций setAccessControlRecursive. |
|
x-ms-cache-control |
string |
Необязательный и допустимый только для операций очистки и задания свойств. Служба сохраняет это значение и включает его в заголовок ответа Cache-Control для операций чтения файла. |
|
x-ms-content-type |
string |
Необязательный и допустимый только для операций очистки и задания свойств. Служба сохраняет это значение и включает его в заголовок ответа Content-Type для операций чтения файла. |
|
x-ms-content-disposition |
string |
Необязательный и допустимый только для операций очистки и задания свойств. Служба сохраняет это значение и включает его в заголовок ответа Content-Disposition для операций чтения файла. |
|
x-ms-content-encoding |
string |
Необязательный и допустимый только для операций очистки и задания свойств. Служба сохраняет это значение и включает его в заголовок ответа Content-Encoding для операций чтения файла. |
|
x-ms-content-language |
string |
Необязательный и допустимый только для операций очистки и задания свойств. Служба сохраняет это значение и включает его в заголовок ответа Content-Language для операций чтения файла. |
|
x-ms-content-md5 |
string |
Необязательный и допустимый только для операций "Flush и Set Properties". Служба сохраняет это значение и включает его в заголовок ответа Content-Md5 для операций чтения и получения свойств. Если это свойство не указано в запросе, то свойство будет снято для файла. Последующие вызовы "Чтение и получение свойств" не будут возвращать это свойство, если оно не задано явным образом в этом файле. |
|
x-ms-properties |
string |
Необязательно. Определяемые пользователем свойства, хранящиеся в файле или каталоге, в формате пары имен и значений с разделим запятыми "n1=v1, n2=v2, ...", где каждое значение является строкой в кодировке Base64. Обратите внимание, что строка может содержать только символы ASCII в наборе символов ISO-8859-1. Допустимо только для операции setProperties. Если файл или каталог существует, все свойства, не включенные в список, будут удалены. Все свойства удаляются, если заголовок опущен. Чтобы объединить новые и существующие свойства, сначала получите все существующие свойства и текущий E-Tag, а затем выполните условный запрос с E-Tag и включите значения для всех свойств. |
|
x-ms-owner |
string |
Необязательный и допустимый только для операции setAccessControl. Задает владельца файла или каталога. |
|
x-ms-group |
string |
Необязательный и допустимый только для операции setAccessControl. Задает группу владельцев файла или каталога. |
|
x-ms-permissions |
string |
Необязательный и допустимый, только если иерархическое пространство имен включено для учетной записи. Задает разрешения доступа POSIX для владельца файла, группы владельцев файлов и других пользователей. Каждому классу может быть предоставлено разрешение на чтение (4), запись (2) или разрешение на выполнение (1). Поддерживаются символьная нотация (rwxrw-rw-) и 4-разрядная восьмеричная нотация (например, 0766). Липкий бит также поддерживается и в символьной нотации, его представлено буквой t или T в окончательном месте символов в зависимости от того, установлен ли бит выполнения для другой категории или не настроен соответственно (например, rwxrw-rw- с липким битом представлен как rwxrw-rwT. Rwxrw-rwx с липким битом представлен как rwxrw-rwt), отсутствие t или T указывает, что липкий бит не задан. В 4-разрядной октационной нотации его представлено 1-й цифрой (например, 1766 представляет rwxrw-rw- с липкой битой и 0766 представляет rwxrw-rw- без липкой биты). Недопустимо в сочетании с x-ms-acl. |
|
x-ms-acl |
string |
Необязательный и допустимый только для операций setAccessControl и setAccessControlRecursive. Требуется для операции setAccessControlRecursive. Задает права управления доступом POSIX для файлов и каталогов. Значение представляет собой разделенный запятыми список записей управления доступом, который полностью заменяет существующий список управления доступом (ACL) в случае setAccessControl и "set" режима setAccessControlRecursive. Режим "изменить" для setAccessControlRecursive обновляет уже существующие ACLS. Каждая запись управления доступом (ACE) состоит из области, типа, идентификатора пользователя или группы и разрешений в формате "[область:][тип]:[id]:[разрешения]". Область должна быть "по умолчанию", чтобы указать, что ACE принадлежит ACL по умолчанию для каталога; в противном случае область неявна, а ACE принадлежит доступу к ACL. Существует четыре типа ACE: "пользователь" предоставляет права владельцу или именованного пользователя, "группа" предоставляет права на владение группе или именованной группе, "маска" ограничивает права, предоставленные именованным пользователям и членам групп, а "другие" предоставляют права всем пользователям, не найденным в других записях. Идентификатор пользователя или группы не указан для записей типа "маска" и "другое". Идентификатор пользователя или группы также опущен для владельца и группы владельца. Поле разрешений — это 3-символьная последовательность, в которой первый символ — R для предоставления доступа на чтение, второй символ — W для предоставления доступа на запись, а третий символ — x для предоставления разрешения на выполнение. Если доступ не предоставлен, символ "-" используется для обозначения того, что разрешение запрещено. Например, следующий ACL предоставляет права на чтение, запись и выполнение прав владельца файла и john.doe@contoso, право на чтение для группы владельцев и ничего другого: "user::rwx,user:john.doe@contoso:rwx,group::r--,other:---,mask=rwx". Недопустимо в сочетании с разрешениями x-ms-. Режим "remove" setAccessControlRecursive удаляет существующие списки управления доступом и не должен содержать разрешения в списке управления доступом, указанный : "user:john.doe@contoso:, mask:". Режим "set" setAccessControlRecursive задает списки управления доступом, заменяющие предварительно существующие списки управления доступом указанной области и должны содержать все три — владение пользователем, владельцем группы и другими сведениями, если область доступа устанавливается, или если пользователь, принадлежащий группе или другой, устанавливается в области по умолчанию. Режимы set и edit в setAccessControlRecursive должны содержать разрешения в составе списка управления доступом. |
|
If-Match |
string |
Необязательный параметр для данных Flush, задание управления доступом и задания свойств, но недопустимый для добавления данных и установки рекурсивного управления доступом. Значение ETag. Укажите этот заголовок для выполнения операции, только если ETag ресурса соответствует указанному значению. ETag должен быть указан в кавычках. |
|
If-None-Match |
string |
Необязательный параметр для данных Flush, задание управления доступом и задания свойств, но недопустимый для добавления данных и установки рекурсивного управления доступом. Значение ETag или значение специального подстановочного символа ("*"). Укажите этот заголовок для выполнения операции, только если ETag ресурса не соответствует указанному значению. ETag должен быть указан в кавычках. |
|
If-Modified-Since |
string |
Необязательный параметр для очистки данных и задания свойств, но недопустимый для добавления данных и установки рекурсивного управления доступом. Значение даты и времени. Укажите этот заголовок для выполнения операции, только если ресурс был изменен с указанной даты и времени. |
|
If-Unmodified-Since |
string |
Необязательный параметр для очистки данных и задания свойств, но недопустимый для добавления данных и установки рекурсивного управления доступом. Значение даты и времени. Укажите этот заголовок для выполнения операции, только если ресурс не был изменен с указанной даты и времени. |
|
x-ms-encryption-key |
string |
Необязательно. Ключ шифрования AES-256 с кодировкой Base64. |
|
x-ms-encryption-key-sha256 |
string |
Необязательно. Хэш шифрования в кодировке Base64 SHA256 ключа шифрования. |
|
x-ms-encryption-algorithm: AES256 |
string |
Необязательно. Задает алгоритм, используемый для шифрования. Значение этого заголовка должно быть AES256. |
|
x-ms-lease-action | True |
Начиная с версии 2020-08-04 в операциях добавления и очистки. Добавление поддерживает действие "приобретение", "автоматическое продление" и "приобретение-выпуск". Если "приобрести" он получит аренду. Если "автоматическое продление" будет продлена аренда. Если "приобретение-выпуск" он получит & завершить операцию & освободить аренду после завершения операции. Действие "Выпуск" поддерживается только в операции очистки. Если значение true, выпустит аренду файла с помощью сведений об идентификаторе аренды из заголовка x-ms-lease-id. |
|
x-ms-lease-duration |
integer (int32) |
Длительность аренды требуется для получения аренды и указывает длительность аренды в секундах. Длительность аренды должна составлять от 15 до 60 секунд или -1 для бесконечной аренды. |
|
x-ms-proposed-lease-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Требуется, если "x-ms-lease-action" имеет значение "приобретение" или "изменение". Аренда будет приобретена с помощью этого идентификатора аренды, если операция выполнена успешно. |
|
x-ms-client-request-id |
string pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$ |
Идентификатор UUID, записанный в журналах аналитики для устранения неполадок и корреляции. |
|
x-ms-date |
string |
Указывает универсальное время (UTC) для запроса. Это необходимо при использовании авторизации общего ключа. |
|
x-ms-version |
string |
Указывает версию протокола REST, используемого для обработки запроса. Это необходимо при использовании авторизации общего ключа. |
Текст запроса
Media Types: "application/octet-stream", "text/plain"
Имя | Тип | Описание |
---|---|---|
requestBody |
object (file) |
Допустимо только для операций добавления. Данные для отправки и добавления в файл. |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
Данные были удалены (записаны) в файл или свойства были успешно заданы. Текст ответа является необязательным и действителен только для SetAccessControlRecursive. Заголовки
|
|
202 Accepted |
Отправленные данные были приняты. Заголовки
|
|
Other Status Codes |
Произошла ошибка. Ниже перечислены возможные строки HTTP- состояния, кода и сообщения:
Заголовки
|
Определения
Имя | Описание |
---|---|
Acl |
|
Data |
|
Error |
Объект ответа об ошибке службы. |
Path |
Начиная с версии 2020-08-04 в операциях добавления и очистки. Добавление поддерживает действие "приобретение", "автоматическое продление" и "приобретение-выпуск". Если "приобрести" он получит аренду. Если "автоматическое продление" будет продлена аренда. Если "приобретение-выпуск" он получит & завершить операцию & освободить аренду после завершения операции. Действие "Выпуск" поддерживается только в операции очистки. Если значение true, выпустит аренду файла с помощью сведений об идентификаторе аренды из заголовка x-ms-lease-id. |
Path |
Действие должно быть "добавление" для отправки данных, добавляемых в файл, "очистка", чтобы очистить ранее отправленные данные в файл, setProperties, чтобы задать свойства файла или каталога, или setAccessControl, чтобы задать владельца, группы, разрешения или список управления доступом для файла или каталога, или setAccessControlRecursive, чтобы задать список управления доступом для каталога рекурсивно. Обратите внимание, что иерархическое пространство имен должно быть включено для учетной записи, чтобы использовать управление доступом. Кроме того, обратите внимание, что список управления доступом (ACL) включает разрешения для владельца, владельца группы и других, поэтому заголовки запросов x-ms-ms и x-ms-acl являются взаимоисключающими. |
Set |
AclFailedEntryList
Имя | Тип | Описание |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Имя | Тип | Описание |
---|---|---|
error |
Объект ответа об ошибке службы. |
Error
Объект ответа об ошибке службы.
Имя | Тип | Описание |
---|---|---|
code |
string |
Код ошибки службы. |
message |
string |
Сообщение об ошибке службы. |
PathLeaseAction
Начиная с версии 2020-08-04 в операциях добавления и очистки. Добавление поддерживает действие "приобретение", "автоматическое продление" и "приобретение-выпуск". Если "приобрести" он получит аренду. Если "автоматическое продление" будет продлена аренда. Если "приобретение-выпуск" он получит & завершить операцию & освободить аренду после завершения операции. Действие "Выпуск" поддерживается только в операции очистки. Если значение true, выпустит аренду файла с помощью сведений об идентификаторе аренды из заголовка x-ms-lease-id.
Значение | Описание |
---|---|
acquire | |
acquire-release | |
auto-renew | |
release |
PathUpdateAction
Действие должно быть "добавление" для отправки данных, добавляемых в файл, "очистка", чтобы очистить ранее отправленные данные в файл, setProperties, чтобы задать свойства файла или каталога, или setAccessControl, чтобы задать владельца, группы, разрешения или список управления доступом для файла или каталога, или setAccessControlRecursive, чтобы задать список управления доступом для каталога рекурсивно. Обратите внимание, что иерархическое пространство имен должно быть включено для учетной записи, чтобы использовать управление доступом. Кроме того, обратите внимание, что список управления доступом (ACL) включает разрешения для владельца, владельца группы и других, поэтому заголовки запросов x-ms-ms и x-ms-acl являются взаимоисключающими.
Значение | Описание |
---|---|
append | |
flush | |
setAccessControl | |
setAccessControlRecursive | |
setProperties |
SetAccessControlRecursiveResponse
Имя | Тип | Описание |
---|---|---|
directoriesSuccessful |
integer (int32) |
|
failedEntries | ||
failureCount |
integer (int32) |
|
filesSuccessful |
integer (int32) |