Экспорт (0) Печать
Развернуть все

Задание времени ожидания для операций службы BLOB-объектов

Обновлено: Октябрь 2011 г.

Каждый вызов API-интерфейса службы BLOB-объектов может иметь интервал времени ожидания, который используется двумя разными способами.

  • Служба BLOB-объектов возвращает ошибку, если интервал времени ожидания истекает в момент обработки запроса.

  • Если вы используете клиент хранилища, то он вызывает исключение, если не получает ответа кода состояния HTTP от службы в течение интервала времени ожидания. Время ожидания применяется только к приему кода состояния и не применяется к приему текста сообщения или завершения передачи данных клиенту.

Интервал времени ожидания по умолчанию — 30 секунд для вызовов REST в службу BLOB-объектов. 30 секунд — это также максимальный интервал времени ожидания для операций службы BLOB-объектов, однако есть ряд исключений, описанных ниже. Служба BLOB-объектов уменьшает большее время ожидания до 30 секунд. По умолчанию клиенты хранилища указывают для вызовов к службе BLOB-объектов время ожидания 90 секунд. Служба BLOB-объектов возвращает ошибку, если не удается подготовить адекватный ответ в течение 30 секунд, и клиент хранилища будет ждать 90, прежде чем вызвать исключение, если он не получает ответа.

Интервал времени ожидания запроса может быть задан для запроса к одному большому двоичному объекту с помощью Microsoft.WindowsAzure.StorageClient.BlobRequestOptions.Timeout, а интервал времени ожидания по умолчанию для всех клиентов хранилища больших двоичных объектов можно установить с помощью Microsoft.WindowsAzure.StorageClient.CloudBlobClient.Timeout.

В следующем примере REST URI задает время ожидания для операции Контейнеры списков равным 20 секундам:

GET https://myaccount.blob.core.windows.net?comp=list&timeout=20

Следующий пример на языке C# устанавливает время ожидания для клиента хранения до 5 минут для загрузки одного большого двоичного объекта.

BlobRequestOptions largeBlobDownloadOptions = new BlobRequestOptions()
{
  Timeout = TimeSpan.FromMinutes(5) // Larger timeout for larger file
};
blob.DownloadToFile(largeBlobDownloadOptions);

В следующих операциях реализованы исключения для стандартного 30-секундного интервала времени ожидания.

  • Вызовы для получения большого двоичного объекта, получения диапазона страниц или списка блокировок могут иметь время ожидания завершения 2 минуты на мегабайт. Если операция в среднем занимает более 2 минут на мегабайт, время ее ожидания истечет.

  • Вызовы на запись большого двоичного объекта, запись блокировки или запись страницы могут иметь время ожидания завершения до 10 минут на мегабайт. Если операция в среднем занимает более 10 минут на мегабайт, время ее ожидания истечет.

  • Максимальное время ожидания для записи списка блокировок составляет 60 секунд.

  • Контейнер, который недавно был удален, нельзя создать снова, пока не будут удалены все его большие двоичные объекты. В зависимости от того, какой объем данных хранился в контейнере, полное удаление может занять от нескольких секунд до нескольких минут. При попытке создать контейнер с таким же именем в течение этого периода очистки вызов немедленно возвращает ошибку.

См. также

Показ:
© 2014 Microsoft