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 |
Идентификатор файловой системы. Шаблон регулярного выражения: |
path
|
path | True |
string |
Путь к файлу или каталогу. |
action
|
query | True |
Действие должно быть "добавить" для отправки данных, которые должны быть добавлены в файл, "очистить" для очистки ранее отправленных данных в файл, "setProperties", чтобы задать свойства файла или каталога, или "setAccessControl", чтобы задать владельца, группу, разрешения или список управления доступом для файла или каталога, или setAccessControlRecursive, чтобы рекурсивно задать список управления доступом для каталога. Обратите внимание, что для учетной записи необходимо включить иерархическое пространство имен, чтобы использовать управление доступом. Также обратите внимание, что список контроль доступа (ACL) включает разрешения для владельца, группы владельцев и других пользователей, поэтому заголовки запросов x-ms-permissions и x-ms-acl являются взаимоисключающими. |
|
close
|
query |
boolean |
События службы хранилища Azure позволяют приложениям получать уведомления при изменении файлов. При включении событий службы хранилища Azure возникает событие изменения файла. Это событие имеет свойство, указывающее, является ли это окончательным изменением, чтобы различать разницу между промежуточным сбросом в файловый поток и окончательным закрытием файлового потока. Параметр запроса close действителен только в том случае, если действием является "очистка" и включены уведомления об изменениях. Если значение close равно true и операция очистки завершается успешно, служба выдает уведомление об изменении файла со свойством , указывающим, что это окончательное обновление (файловый поток закрыт). Если значение false, подается уведомление об изменении, указывающее, что файл был изменен. Значение по умолчанию — false. Драйвер Hadoop ABFS задает этому параметру запроса значение true, чтобы указать, что файловый поток закрыт. |
|
continuation
|
query |
string |
Необязательный и допустимый только для операции setAccessControlRecursive. Количество путей, обрабатываемых с каждым вызовом, ограничено. Если количество обрабатываемых путей превышает это ограничение, маркер продолжения возвращается в заголовке ответа x-ms-continuation. Когда маркер продолжения возвращается в ответе, он должен быть закодирован в процентах и указан при последующем вызове операции 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-md5", "x-ms-content-disposition". Чтобы задать эти заголовки во время очистки, используйте action=flush. |
|
force
|
query |
boolean |
Необязательный и допустимый только для операции setAccessControlRecursive. Если это значение false, операция быстро завершится при возникновении ошибок пользователя (4XX). Если значение равно true, API проигнорирует ошибки пользователя и продолжит операцию с другими вложенными сущностями каталога. Подробное состояние ошибок пользователя будет возвращено в ответе для любого сценария. Маркер продолжения возвращается только в том случае, если forceFlag имеет значение true в случае ошибок пользователя. Значение по умолчанию для forceFlag — false. |
|
max
|
query |
integer int32 |
Необязательный и допустимый только для операции setAccessControlRecursive. Он указывает максимальное количество файлов или каталогов, к которым будет применено изменение списка acl. Если значение пропущено или больше 2000, запрос обработает до 2000 элементов. |
|
mode
|
query |
string |
Необязательный элемент. Допустимые и обязательные для операции setAccessControlRecursive. Режим "set" устанавливает права управления доступом POSIX к файлам и каталогам, "modify" изменяет одно или несколько прав управления доступом POSIX, которые ранее существовали в файлах и каталогах, "remove" удаляет одно или несколько прав управления доступом POSIX, которые были ранее в файлах и каталогах |
|
position
|
query |
integer int64 |
Этот параметр позволяет вызывающему объекту отправлять данные параллельно и управлять порядком их добавления в файл. Он необходим при отправке данных, добавляемых в файл, и при очистке ранее отправленных данных в файл. Значение должно быть позицией, в которой должны быть добавлены данные. Отправленные данные не сразу сбрасываются или не записываются в файл. Для очистки ранее отправленные данные должны быть смежными, параметр position должен быть указан и равен длине файла после записи всех данных, а также не должно быть тела сущности запроса, включаемой в запрос. |
|
retain
|
query |
boolean |
Допустимо только для операций очистки. Если значение равно true, незафиксированные данные сохраняются после завершения операции очистки; В противном случае незафиксированные данные удаляются после операции очистки. Значение по умолчанию — false. Данные со смещением меньше указанной позиции записываются в файл при успешной очистке, но этот необязательный параметр позволяет сохранять данные после позиции очистки для будущей операции очистки. |
|
timeout
|
query |
integer int32 |
Необязательное значение времени ожидания операции в секундах. Период начинается с момента получения запроса службой. Если время ожидания истекает до завершения операции, операция завершается сбоем. |
Заголовок запроса
Media Types: "application/octet-stream", "text/plain"
Имя | Обязательно | Тип | Описание |
---|---|---|---|
Content-Length |
integer int64 |
Требуется для добавления данных и очистки данных. Для параметра "Очистка данных" должно быть значение 0. Длина содержимого запроса в байтах для параметра "Добавление данных". |
|
Content-MD5 |
string |
Необязательный элемент. Хэш MD5 содержимого запроса. Этот заголовок действителен для операций Append и Flush. Этот хэш используется для проверки целостности содержимого запроса в ходе транспортировки. Если указан этот заголовок, то служба хранилища сравнивает хэш полученного содержимого со значением, полученным в этом заголовке. Если хэш не совпадает, операция завершится с ошибкой и кодом ошибки 400 (неправильный запрос). Обратите внимание, что этот хэш MD5 не хранится вместе с файлом. Этот заголовок связан с содержимым запроса, а не с хранимым содержимым самого файла. |
|
x-ms-lease-id |
string |
При наличии активной аренды необходимо указать идентификатор аренды. Недопустимо для операций 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 |
Необязательный и допустимый только для операций очистки и задания свойств. Служба сохраняет это значение и включает его в заголовок ответа Content-Md5 для операций чтения и получения свойств. Если это свойство не задано в запросе, то это свойство файла будет очищено. Последующие вызовы свойств Read и Get не будут возвращать это свойство, если оно не будет явно задано для этого файла снова. |
|
x-ms-properties |
string |
Необязательный элемент. Определяемые пользователем свойства, которые хранятся в файле или каталоге, в формате разделенного запятыми списка пар "n1=v1, n2=v2, ...", где каждое значение представляет собой строку в кодировке Base64. Обратите внимание, что строка может содержать только символы ASCII в наборе символов ISO-8859-1. Допустимо только для операции setProperties. Если файл или каталог существует, все свойства, не включенные в список, будут удалены. Все свойства удаляются, если заголовок опущен. Чтобы объединить новые и существующие свойства, сначала получите все существующие свойства и текущий E-Тег, а затем выполните условный запрос с E-Тегом и включите значения для всех свойств. |
|
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 указывает на то, что липкий бит не задан. В четырехзначном восьмеричном нотации она представлена 1-й цифрой (например, 1766 представляет rwxrw-rw- с липким битом, а 0766 представляет rwxrw-rw- без липкой бит). Недопустимо в сочетании с x-ms-acl. |
|
x-ms-acl |
string |
Необязательный и допустимый только для операций setAccessControl и setAccessControlRecursive. Требуется для операции setAccessControlRecursive. Задает права управления доступом POSIX к файлам и каталогам. Значение представляет собой разделенный запятыми список записей управления доступом, который полностью заменяет существующий список управления доступом (ACL) в случае setAccessControl и режим setAccessControlRecursive. Режим "modify" setAccessControlRecursive обновляет уже существующие ACLS. Каждая запись управления доступом (ACE) состоит из область, типа, идентификатора пользователя или группы и разрешений в формате "[область:][тип]:[id]:[permissions]". Область должно быть "по умолчанию", чтобы указать, что ACE принадлежит ACL по умолчанию для каталога; в противном случае область неявно, а ACE принадлежит к ACL доступа. Существует четыре типа ACE: "пользователь" предоставляет права владельцу или именованного пользователя, "группа" предоставляет права группе-владельцу или именованной группе, "маска" ограничивает права, предоставленные именованным пользователям и членам групп, а "другие" предоставляет права всем пользователям, которых нет ни в одной из других записей. Идентификатор пользователя или группы опущен для записей типа mask и other. Идентификатор пользователя или группы также опущен для владельца и группы-владельца. Поле разрешений представляет собой последовательность из 3 символов, где первый символ — "r" для предоставления доступа на чтение, второй — "w" для предоставления доступа на запись, а третий символ — "x" для предоставления разрешения на выполнение. Если доступ не предоставлен, символ "-" используется для обозначения отказа в разрешении. Например, следующий список управления доступом предоставляет права на чтение, запись и выполнение владельцу файла и john.doe@contoso, право на чтение группе-владельцу и ничего не предоставляет всем остальным: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". Недопустимо в сочетании с x-ms-permissions. Режим "remove" setAccessControlRecursive удаляет уже существующие списки управления доступом и не должен содержать разрешения в указанном списке управления доступом : "user:john.doe@contoso:, mask:". Режим set (set) setAccessControlRecursive задает списки управления доступом, заменяющие уже существующие списки управления доступом указанного область, и должны содержать все три параметра : пользователь-владение, группа владельцев и другие сведения, если область доступа устанавливается или если в область по умолчанию устанавливается пользователь, группа владельцев или другая. Режимы set и modify setAccessControlRecursive должны содержать разрешения в составе списка управления доступом. |
|
If-Match |
string |
Необязательный параметр для сброса данных, установка контроль доступа и задание свойств, но недопустимый для добавления данных и задания контроль доступа рекурсивного. Значение ETag. Укажите этот заголовок для выполнения операции только в том случае, если ETag ресурса соответствует указанному значению. ETag должен быть указан в кавычках. |
|
If-None-Match |
string |
Необязательный параметр для сброса данных, установка контроль доступа и задание свойств, но недопустимый для добавления данных и задания контроль доступа рекурсивного. Значение ETag или специальное значение с подстановочным знаком ("*"). Укажите этот заголовок для выполнения операции только в том случае, если ETag ресурса не соответствует указанному значению. ETag должен быть указан в кавычках. |
|
If-Modified-Since |
string |
Необязательный параметр для очистки данных и свойств set, но недопустимый для добавления данных и задания контроль доступа рекурсивного. Значение даты и времени. Укажите этот заголовок для выполнения операции, только если ресурс был изменен с указанной даты и времени. |
|
If-Unmodified-Since |
string |
Необязательный параметр для очистки данных и свойств set, но недопустимый для добавления данных и задания контроль доступа рекурсивного. Значение даты и времени. Укажите этот заголовок для выполнения операции, только если ресурс не был изменен с указанной даты и времени. |
|
x-ms-encryption-key |
string |
Необязательный элемент. Ключ шифрования AES-256 в кодировке Base64. |
|
x-ms-encryption-key-sha256 |
string |
Необязательный элемент. Хэш SHA256 в кодировке Base64 ключа шифрования. |
|
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 |
Требуется, если "x-ms-lease-action" имеет значение "acquire" или "change". При успешном выполнении операции будет получена аренда с этим идентификатором аренды. Шаблон регулярного выражения: |
|
x-ms-client-request-id |
string |
UUID, записанный в журналы аналитики для устранения неполадок и корреляции. Шаблон регулярного выражения: |
|
x-ms-date |
string |
Задает время запроса в формате UTC. Это необходимо при использовании авторизации с общим ключом. |
|
x-ms-version |
string |
Указывает версию протокола REST, используемого для обработки запроса. Это необходимо при использовании авторизации с общим ключом. |
Текст запроса
Media Types: "application/octet-stream", "text/plain"
Имя | Тип | Описание |
---|---|---|
requestBody |
object |
Допустимо только для операций добавления. Данные для отправки и добавления в файл. |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
Данные были сброшены (записаны) в файл или свойства были успешно заданы. Текст ответа необязателен и действителен только для SetAccessControlRecursive. Заголовки
|
|
202 Accepted |
Отправленные данные были приняты. Заголовки
|
|
Other Status Codes |
Произошла ошибка. Ниже перечислены возможные строки состояния HTTP, кода и сообщений.
Заголовки
|
Определения
Имя | Описание |
---|---|
Acl |
|
Data |
|
Error |
Объект ответа об ошибке службы. |
Path |
Начиная с версии 2020-08-04 в операциях добавления и очистки. Append поддерживает действия acquire, auto-renew и acquire-release. Если "приобрести", он получит аренду. При автоматическом продлении аренда будет продлена. Если "acquire-release" он получит & завершить операцию & освободить аренду после завершения операции. Действие "Освободить" поддерживается только в операции очистки. Если задано значение true, отпустит аренду файла, используя сведения об идентификаторе аренды из заголовка x-ms-lease-id. |
Path |
Действие должно быть "add" для отправки данных, которые должны быть добавлены в файл, "очистка" для очистки ранее отправленных данных в файл, "setProperties", чтобы задать свойства файла или каталога, или "setAccessControl", чтобы задать владельца, группу, разрешения или список управления доступом для файла или каталога, или "setAccessControlRecursive", чтобы задать список управления доступом для каталога рекурсивно. Обратите внимание, что для использования управления доступом для учетной записи необходимо включить иерархическое пространство имен. Кроме того, обратите внимание, что список контроль доступа (ACL) включает разрешения для владельца, группы владельцев и т. д., поэтому заголовки запросов x-ms-permissions и x-ms-acl являются взаимоисключающими. |
Set |
AclFailedEntryList
Имя | Тип | Описание |
---|---|---|
errorMessage |
string |
|
name |
string |
|
type |
string |
DataLakeStorageError
Имя | Тип | Описание |
---|---|---|
error |
Объект ответа об ошибке службы. |
Error
Объект ответа об ошибке службы.
Имя | Тип | Описание |
---|---|---|
code |
string |
Код ошибки службы. |
message |
string |
Сообщение об ошибке службы. |
PathLeaseAction
Начиная с версии 2020-08-04 в операциях добавления и очистки. Append поддерживает действия acquire, auto-renew и acquire-release. Если "приобрести", он получит аренду. При автоматическом продлении аренда будет продлена. Если "acquire-release" он получит & завершить операцию & освободить аренду после завершения операции. Действие "Освободить" поддерживается только в операции очистки. Если задано значение true, отпустит аренду файла, используя сведения об идентификаторе аренды из заголовка x-ms-lease-id.
Имя | Тип | Описание |
---|---|---|
acquire |
string |
|
acquire-release |
string |
|
auto-renew |
string |
|
release |
string |
PathUpdateAction
Действие должно быть "add" для отправки данных, которые должны быть добавлены в файл, "очистка" для очистки ранее отправленных данных в файл, "setProperties", чтобы задать свойства файла или каталога, или "setAccessControl", чтобы задать владельца, группу, разрешения или список управления доступом для файла или каталога, или "setAccessControlRecursive", чтобы задать список управления доступом для каталога рекурсивно. Обратите внимание, что для использования управления доступом для учетной записи необходимо включить иерархическое пространство имен. Кроме того, обратите внимание, что список контроль доступа (ACL) включает разрешения для владельца, группы владельцев и т. д., поэтому заголовки запросов x-ms-permissions и x-ms-acl являются взаимоисключающими.
Имя | Тип | Описание |
---|---|---|
append |
string |
|
flush |
string |
|
setAccessControl |
string |
|
setAccessControlRecursive |
string |
|
setProperties |
string |
SetAccessControlRecursiveResponse
Имя | Тип | Описание |
---|---|---|
directoriesSuccessful |
integer |
|
failedEntries | ||
failureCount |
integer |
|
filesSuccessful |
integer |