Поделиться через


Put Range From URL

Операция Put Range From URL создает новый диапазон, который будет зафиксирован как часть файла, в котором содержимое считывается из URL-адреса. Этот API доступен с версии 2019-02-02.

Доступность протокола

Включенный протокол общей папки Доступно
SMB Да
NFS Нет

Запрос

Запрос Put Range From URL можно составить следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS. Замените myaccount именем своей учетной записи хранения:

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
PUT https://myaccount.file.core.windows.net/myshare/myfile?comp=range HTTP/1.1

Параметры универсального кода ресурса (URI)

Параметр Описание
timeout Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций Файлы Azure.

Заголовки запросов

Обязательные и необязательные заголовки запросов описаны в следующей таблице:

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure .
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure. Для Put Range From URLдолжна быть версия 2019-02-02 или более поздняя.
x-ms-copy-source:name Обязательный. Указывает URL-адрес исходного файла. Значением может быть URL-адрес длиной до 2 КиБ, указывающий файл. Значение должно быть закодировано в URL-адресе в том виде, в каком оно указано в запросе URI. Исходный файл должен быть общедоступным или должен быть авторизован с помощью подписанного URL-адреса. Если исходный файл является общедоступным, для выполнения операции авторизация не требуется. Ниже приведены некоторые примеры URL-адресов исходного объекта:
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile
  • https://myaccount.file.core.windows.net/myshare/mydir/myfile?<sastoken>
x-ms-copy-source-authorization: <scheme> <signature> Необязательный элемент. Указывает схему авторизации и подпись для источника копирования. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Для Microsoft Entra поддерживается только носитель схемы.
Этот заголовок поддерживается в версии 2020-10-02 и более поздних версиях.
x-ms-write: { update } Обязательный. Необходимо указать только update. Запрос завершается ошибкой, если он вызывается с clearпомощью . Значение update записывает байты, указанные текстом запроса, в указанные диапазоны.
Range или x-ms-range Обязательный. Требуется Range или x-ms-range.

Указывает диапазон байтов, который будет записан. Следует указать начало и конец диапазона. Этот заголовок определяется спецификацией протокола HTTP/1.1.

Для операции обновления размер диапазона может составлять до 4 МиБ.

Файлы Azure принимает только один байтовый диапазон для Range заголовков и x-ms-range , а диапазон байтов должен быть указан в следующем формате: bytes=startByte-endByte.

Если заданы оба параметра, Range и x-ms-range, то служба использует значение x-ms-range. Дополнительные сведения см. в разделе Указание заголовка диапазона для операций Файлы Azure.
x-ms-source-range Обязательный. Указывает диапазон байтов, считываемых из источника. Следует указать начало и конец диапазона.

Файлы Azure принимает только один байтовый диапазон для Range заголовков и x-ms-range , а диапазон байтов должен быть указан в следующем формате: bytes=startByte-endByte.

Исходный диапазон может иметь размер до 4 МиБ. Если размер исходного диапазона превышает 4 МиБ, Файлы Azure возвращает код состояния 413 (слишком большой объект запроса). Если размер исходного диапазона не соответствует размеру диапазона (целевого диапазона), служба возвращает код состояния 400 (недопустимый запрос).
Content-Length Обязательный. Указывает число байтов, передаваемых в тексте запроса. У этого заголовка должно быть значение 0. Если длина не 0равна , операция завершается ошибкой с кодом состояния 400 (недопустимый запрос).
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Файлы Azure.
x-ms-source-content-crc64 Необязательный элемент. Хэш CRC64 указанного диапазона из URI. Этот хэш используется для проверки целостности диапазона во время передачи данных из URI. Если указан этот заголовок, Файлы Azure сравнивает хэш содержимого, полученного из источника копирования, с этим значением заголовка.

Примечание. Этот хэш CRC64 не хранится в файле .

Если два хэша не совпадают, операция завершается ошибкой с кодом 400 (недопустимый запрос).
x-ms-source-if-match-crc64 Необязательный элемент. Значение контрольной суммы CRC64. Укажите этот заголовок для выполнения операции только в том случае, если контрольная сумма заданного диапазона, считываемая из источника, совпадает с указанной контрольной суммой.

Если указанное условие не выполняется, Файлы Azure возвращает код состояния 412 (сбой предварительного условия).
x-ms-source-if-none-match-crc64 Необязательный элемент. Значение контрольной суммы CRC64. Укажите этот заголовок для выполнения операции только в том случае, если контрольная сумма заданного диапазона, считываемого из источника, отличается от указанной контрольной суммы.

Если указанное условие не выполняется, Файлы Azure возвращает код состояния 412 (сбой предварительного условия).
x-ms-lease-id:<ID> Требуется, если файл имеет активную аренду. Чтобы выполнить эту операцию с файлом с активной арендой, укажите допустимый идентификатор аренды для этого заголовка.
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы аналитики при включении ведения журнала azure Аналитика Службы хранилища. Мы настоятельно рекомендуем использовать этот заголовок при сопоставлении действий на стороне клиента с запросами, полученными сервером. Дополнительные сведения см. в разделе Мониторинг хранилища BLOB-объектов.
x-ms-file-last-write-time: { now ¦ preserve } Необязательный элемент. Версия 08.06.2021 и более поздняя. Можно указать одно из следующих значений.
  • now: значение по умолчанию. Обновления метку времени последней записи к времени запроса.
  • preserve: сохраняет существующую метку времени последней записи без изменений.
x-ms-file-request-intent Требуется, если Authorization заголовок указывает токен OAuth. Допустимое значение — backup. Этот заголовок указывает, что Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action необходимо предоставить или Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action , если они включены в политику RBAC, назначенную удостоверению, авторизованному с помощью заголовка Authorization . Доступно для версии 2022-11-02 и более поздних версий.
x-ms-allow-trailing-dot: { <Boolean> } Необязательный элемент. Версия 02.11.2022 и более поздняя. Логическое значение указывает, следует ли обрезать завершающую точку в URL-адресе запроса. Дополнительные сведения см. в статье Именование общих папок, каталогов, файлов и метаданных и ссылки на нее.
x-ms-source-allow-trailing-dot: { <Boolean> } Необязательный элемент. Версия 02.11.2022 и более поздняя. Логическое значение указывает, следует ли обрезать завершающую точку в исходном URL-адресе. Этот заголовок следует указывать только в том случае, если источником копирования является файл Azure. Этот заголовок не поддерживается для любого другого типа источника копирования. Дополнительные сведения см. в статье Именование общих папок, каталогов, файлов и метаданных и ссылки на нее.

Текст запроса

Текст запроса отсутствует.

Пример запроса

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/mydir/myfile?comp=range HTTP/1.1  
  
Request Headers:  
x-ms-page-write: update  
x-ms-copy-source: http://myaccount2.file.core.windows.net/myshare2/mydirectory2/myfile2?sv=2018-11-09&sp=r&sr=s&se=2018-08-22T09%3A59%3A28.2185790Z&sig=Qn6QEET3Gn%2FhCEVcXuwG7ssatIYiYRM5pNIy4Q3N0cQ%3D 
x-ms-date: Fri, 22 Aug 2018 01:15:50 GMT  
x-ms-version: 2019-02-02 
x-ms-range: bytes=100-1023  
x-ms-source-range: bytes=200-1123  
x-ms-source-content-crc64: 3bedb8b3730fc205 
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 0 

Ответ

Ответ включает код состояния HTTP и набор заголовков ответа.

Код состояния

Успешная операция возвращает код состояния 201 (создано).

Дополнительные сведения о кодах состояния см. в разделе Коды состояния и ошибок.

Заголовки ответов

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

Заголовок ответа Описание
ETag Содержит значение, которое можно использовать для условного выполнения операций. Значение заключено в кавычки.
Last-Modified Дата и время последнего изменения файла. Дата в формате согласно RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках.

Любая операция записи в файл, включая обновление метаданных или свойств файла, изменяет время последнего изменения файла. 
x-ms-request-id Уникально идентифицирует выполненный запрос, и его можно использовать для устранения неполадок с запросом. Дополнительные сведения см. в статье Устранение неполадок с операциями API.
x-ms-version Указывает версию API FileREST, которая использовалась для выполнения запроса.
Date Значение даты и времени в формате UTC, созданное службой, которое указывает время инициации ответа.
x-ms-content-crc64 Возвращается, чтобы клиент проверка для целостности содержимого сообщения. Значение этого заголовка вычисляется Файлы Azure. Оно не обязательно совпадает со значением, указанным в заголовках запроса.
x-ms-client-request-id Может использоваться для устранения неполадок запросов и соответствующих ответов. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, он не будет присутствовать в ответе.
x-ms-file-last-write-time Версия 08.06.2021 и более поздняя. Время последней записи для файла в формате ISO 8601 (например, 2017-05-10T17:52:33.9551861Z).

Пример ответа

Response Status:  
HTTP/1.1 201 Created  

Response Headers:
Date: Sun, 22 Aug 2020 01:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Wed, 22 Aug 2020 01:13:31 GMT  
x-ms-version: 2019-02-02
x-ms-content-crc64: 3bedb8b3730fc205 
Content-Length: 0  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Авторизация

Эта операция может быть вызвана владельцем учетной записи и любым пользователем с подписанным URL-адресом с разрешениями на запись в этот файл или общую папку Azure.

Комментарии

Операция Put Range From URL записывает диапазон данных в файл. Если API вызывается для несуществующего файла в целевом объекте, API возвращает код состояния HTTP 404 (не найдено).

В версии 2020-10-02 и более поздних версиях для источника операции копирования поддерживается авторизация Microsoft Entra.

Чтобы создать файл, вызовите Create File.

Put Range From URL Операция возвращает успешное выполнение 201 (создано), только если указанный диапазон записан в файл.

Операция чтения файла
Put Range From URL использует Get File для чтения данных и метаданных, атрибутов и списков управления доступом из источника.

Операция обновления файла
При вызове Put Range From URL с параметром "update" выполняется запись на месте в указанном файле. Любое содержимое в указанном файле перезаписывается с помощью обновления.  

Размер диапазона в Put Range From URL операции обновления может составлять до 4 МиБ. При попытке отправить диапазон размером более 4 МиБ Файлы Azure возвращает код состояния 413 (RequestEntityTooLarge).