Получение данных из файла

Операция Get File считывает или загружает файл из системы, включая метаданные и свойства.

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

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

Запрос

Запрос Get File можно составить следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS.

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

Замените компоненты пути, которые отображаются в URI запроса, собственными, как показано ниже.

Компонент path Описание
myaccount Имя учетной записи хранения.
myshare Имя файлового ресурса.
mydirectorypath Необязательный элемент. Путь к каталогу.
myfile Имя файла.

Сведения об ограничениях именования путей см. в разделе Имена и ссылки общих папок, каталогов, файлов и метаданных.

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

В URI запроса можно указать следующие дополнительные параметры:

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

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

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

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
Range Необязательный элемент. Возвращает данные файла только из указанного диапазона байтов.
x-ms-range Необязательный элемент. Возвращает данные файла только из указанного диапазона байтов. Если заданы оба параметра, Range и x-ms-range, то служба использует значение x-ms-range. Если ни то, ни иное не указано, возвращается все содержимое файла. Дополнительные сведения см. в разделе Указание заголовка диапазона для операций Файлы Azure.
x-ms-range-get-content-md5: true Необязательный элемент. Если для этого заголовка задано значение true и он указан вместе с Range заголовком, служба возвращает хэш MD5 для диапазона, если размер диапазона меньше или равен 4 мебибайтам (МиБ).

Если этот заголовок указан без заголовка Range, то служба возвращает код состояния 400 (неверный запрос).

Если для этого заголовка задано значение true , если размер диапазона превышает 4 МиБ, служба возвращает код состояния 400 (недопустимый запрос).
x-ms-lease-id:<ID> Необязательный элемент. Версия 2019-02-02 и более поздние. Если указан заголовок, операция выполняется только в том случае, если аренда файла в данный момент активна, а идентификатор аренды, указанный в запросе, соответствует идентификатору аренды файла. В противном случае операция завершается ошибкой с кодом состояния 412 (сбой предварительного условия).
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Файлы Azure.
x-ms-file-request-intent Требуется, если Authorization заголовок указывает токен OAuth. Допустимое значение — backup. Этот заголовок указывает, что Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action или должны быть предоставлены, если они включены в политику RBAC, назначенную удостоверению, которое авторизовано с помощью заголовка Authorization . Доступно для версии 2022-11-02 и более поздних версий.
x-ms-allow-trailing-dot: { <Boolean> } Необязательный элемент. Версия 2022-11-02 и более поздние. Логическое значение указывает, следует ли обрезать завершающую точку в URL-адресе запроса. Дополнительные сведения см. в разделе Именование общих папок, каталогов, файлов и метаданных и ссылки на нее.

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

Нет.

Ответ

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

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

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

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

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

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

Заголовок ответа Описание
Last-Modified Возвращает дату и время последнего изменения файла. Дата в формате согласно RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках. Любая операция, изменяющая файл или его свойства, обновляет время последнего изменения.
x-ms-meta-name:value Набор пары «имя-значение», связанной с этим файлом, в качестве определяемых пользователем метаданных.
Content-Length Число байтов в тексте ответа.
Content-Type Тип контента, указанный для файла. Тип содержимого по умолчанию — application/octet-stream.
Content-Range Диапазон байтов, возвращаемый, если клиент запросил подмножество файла, задав Range заголовок запроса.
ETag Содержит значение, которое можно использовать для условного выполнения операций. Значение заключено в кавычки.
Content-MD5 Если файл имеет хэш MD5 и запрос должен прочитать весь файл, то возвращается этот заголовок ответа, чтобы клиент смог проверить целостность содержимого сообщения.

Если запрос считывает указанный диапазон и x-ms-range-get-content-md5 имеет значение true, запрос возвращает хэш MD5 для диапазона, если размер диапазона меньше или равен 4 МиБ.

Если ни тот из этих наборов условий не имеет значения true, значение для заголовка Content-MD5 не возвращается.

Если x-ms-range-get-content-md5 указан без заголовка диапазона, служба возвращает код состояния 400 (недопустимый запрос).

Если x-ms-range-get-content-md5 для задано значение true , если диапазон превышает 4 МиБ, служба возвращает код состояния 400 (недопустимый запрос).
Content-Encoding Возвращает значение, указанное для заголовка Content-Encoding запроса.
Content-Language Возвращает значение, указанное для заголовка Content-Language запроса.
Cache-Control Возвращается, если он был ранее указан для файла.
Content-Disposition Возвращает значение, указанное для заголовка x-ms-content-disposition, и указывает, как обработать ответ.

Поле Content-Disposition заголовка ответа содержит дополнительные сведения об обработке полезных данных ответа, а также может использоваться для присоединения дополнительных метаданных. Например, если задано значение attachment, Content-Disposition указывает, что агент пользователя не должен отображать ответ, а должен отображать окно Сохранить как.
x-ms-request-id Уникально идентифицирует выполненный запрос и может использоваться для устранения неполадок с запросом. Дополнительные сведения см. в разделе Устранение неполадок с операциями API.
x-ms-version Версия службы, которая использовалась для выполнения запроса.
Accept-Ranges: bytes Указывает, что служба поддерживает запросы для частичного содержимого файла.
Date Date
x-ms-copy-completion-time:<datetime> Версия 21.02.2015 и более поздняя. Время завершения последней попытки операции копирования файла , где этот файл был целевым файлом. Это значение может указывать время завершенной, отмененной или неуспешной попытки копирования. Этот заголовок не отображается, если копирование находится в ожидании, если этот файл никогда не был назначением в операции копирования файла или если этот файл был изменен после завершения операции копирования файла , которая использовала задание свойств файла или создание файла.
x-ms-copy-status-description: <error string> Версия 21.02.2015 и более поздняя. Отображается только при x-ms-copy-statusсбое или ожидании. Описывает причину неустранимого или неустранимого сбоя операции копирования. Этот заголовок не отображается, если этот файл никогда не был местом назначения в операции копирования файла или если этот файл был изменен после завершения операции копирования файла , которая использовала задание свойств файла или создание файла.
x-ms-copy-id: <id> Версия 21.02.2015 и более поздняя. Строковый идентификатор последней попытки операции копирования файла , где этот файл был целевым файлом. Этот заголовок не отображается, если файл никогда не был назначением в операции копирования файла или если этот файл был изменен после завершения операции копирования файла , которая использовала задание свойств файла или создание файла.
x-ms-copy-progress: <bytes copied/bytes total> Версия 21.02.2015 и более поздняя. Содержит количество байтов, которые были скопированы, и общее количество байтов в источнике в последней попытке операции копирования файла , где этот файл был целевым файлом. Может отображать от 0 до количества скопированных Content-Length байтов. Этот заголовок не отображается, если этот файл никогда не был местом назначения в операции копирования файла или если этот файл был изменен после завершения операции копирования файла , которая использовала задание свойств файла или создание файла.
x-ms-copy-source: url Версия 21.02.2015 и более поздняя. URL-адрес длиной до 2 КБ, указывающий исходный файл, который использовался при последней попытке операции копирования файла , где этот файл был целевым файлом. Этот заголовок не отображается, если этот файл никогда не был назначением в операции копирования файла или если этот файл был изменен после завершения операции копирования файла , которая использовала задание свойств файла или создание файла.
x-ms-copy-status: <pending ¦ success ¦ aborted ¦ failed> Версия 21.02.2015 и более поздняя. Состояние операции копирования, определяемой с помощью x-ms-copy-id, со следующими значениями:

- pending: выполняется копирование. Проверьте x-ms-copy-status-description , не препятствуют ли периодические неустранимые ошибки, которые препятствуют выполнению копирования, но не приводят к сбою.
- success: копирование выполнено успешно.
- aborted: копирование было завершено путем прерывания копирования файла.
- failed: сбой копирования. Дополнительные сведения об ошибке см. в разделе x-ms-copy-status-description.

Этот заголовок не отображается, если этот файл никогда не был назначением в операции копирования файла или если этот файл был изменен после завершения операции копирования файла , которая использовала задание свойств файла или создание файла.
x-ms-content-md5 Начиная с версии 2016-05-31, если файл содержит хэш MD5 и запрос содержит заголовок диапазона (range или x-ms-range), этот заголовок ответа возвращается со значением MD5 всего файла. Это значение может быть или не равно значению, возвращаемому в заголовке Content-MD5 , который вычисляется из запрошенного диапазона.
x-ms-server-encrypted: true/false Версия 17.04.2017 и более поздняя. Этот заголовок имеет значение , true если данные файла и метаданные приложения полностью зашифрованы с помощью указанного алгоритма. Если файл незашифрован или зашифрованы только части метаданных файла или приложения, для параметра устанавливается falseзначение .
x-ms-file-permission-key Ключ разрешения для файла.
x-ms-file-attributes Атрибуты файловой системы в файле. Дополнительные сведения см. в списке доступных атрибутов.
x-ms-file-creation-time Значение даты и времени в формате UTC, представляющее свойство времени создания файла.
x-ms-file-last-write-time Значение даты и времени в формате UTC, представляющее свойство времени последней записи для файла.
x-ms-file-change-time Значение даты и времени в формате UTC, представляющее свойство времени изменения для файла.
x-ms-file-file-id Идентификатор файла.
x-ms-file-parent-id Идентификатор родительского файла.
x-ms-lease-duration:infinite Версия 2019-02-02 и более поздние. При аренде файла указывает, что аренда имеет бесконечный срок.
x-ms-lease-state: <available, leased, broken> Версия 2019-02-02 и более поздние. При аренде файла указывает состояние аренды файла.
x-ms-lease-status: <locked, unlocked> Версия 2019-02-02 и более поздние. При аренде файла указывает состояние аренды файла.
x-ms-client-request-id Можно использовать для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, он отсутствует в ответе.

Текст ответа

Текст ответа содержит содержимое файла.

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

Response Status:
HTTP/1.1 200 OK

Response Headers:
x-ms-type: File
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: <date>
ETag: "0x8CB171DBEAD6A6B"
Last-Modified: <date>
x-ms-version: 2019-02-02
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
x-ms-copy-id: 36650d67-05c9-4a24-9a7d-a2213e53caf6
x-ms-copy-source: <url>
x-ms-copy-status: success
x-ms-copy-progress: 11/11
x-ms-copy-completion-time: <date>
x-ms-lease-duration: infinite
x-ms-lease-state: leased
x-ms-lease-status: locked

Авторизация

Вызов этой операции доступен только владельцу учетной записи.

Комментарии

Вызов Get File в диапазоне, который еще не содержит содержимого или который был очищен, возвращает для 0 этих байтов.

При вызове Get File без указанного диапазона служба возвращает диапазон байтов до значения, указанного для заголовка x-ms-content-length . Для всех диапазонов, в которых отсутствует содержимое, служба возвращает 0 для этих байтов.

Операция Get File может быть завершена в две минуты на МиБ. Время ожидания операций, которые в среднем занимают более двух минут на МиБ, истекает.

См. также раздел

Операции с Файлы Azure