Я пытаюсь загрузить довольно большой файл (~ 1 ТБ) на Google Диск, используя их возобновляемые загрузки характерная черта. Я загружаю файл кусками по 16 МБ. Эта работа успешно выполняется уже пару дней; Я загружаю по очень медленной ссылке и хочу, чтобы она работала стабильно даже в течение нескольких недель.
Для этой конкретной загрузки после правильной загрузки около 60 ГБ я неоднократно вижу следующую ошибку; Я делаю экспоненциальный откат, чтобы повторить попытку; он ограничен повторной попыткой каждые две минуты после каждого сбоя.
Запрос и ответ выглядят так (запрос передается в OAuth'd http.Client
, так что Authorization
заголовок не включен):
2015/04/18 09:26:28 Attempt 663 failed for this chunk: expected status 308, but got 503
tried this request:
2015/04/18 09:26:28 &{PUT https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&upload_id=AEnB2UqOogB7qWwFhp7afkT-uYYGWodnUo5GNXpNbhvxceY2C01JZgz0m79zQi_LzAY1zGwkrv4fcE6Jh9NWNhpvwQqvePW0-A
HTTP/1.1 1 1 map[Content-Range:[bytes 62730010624-62746787839/*]]
{0xc2104256c0} 16777216 [] false www.googleapis.com map[] map[] <nil> map[] <nil>}
got this response:
2015/04/18 09:26:28 &{503 Service Unavailable 503 HTTP/1.1 1 1
map[Content-Length:[0] Date:[Sat, 18 Apr 2015 07:28:47 GMT]
Server:[UploadServer ("Built on Apr 9 2015 13:51:25 (1428612685)")]
Content-Type:[text/html; charset=UTF-8]
Alternate-Protocol:[443:quic,p=1]] 0xc2100e8ba0 0 [] true map[] 0xc2104228f0}
Тело ответа пусто. Интересно, что я вижу эти ошибки на панели инструментов Google Developers Console (количество ошибок увеличивается). Однако я нигде не могу найти подробных отчетов о том, что пошло не так - ни на вкладках «Мониторинг», ни в подробном отчете об использовании API для Drive API.
Это означает, что ошибки правильно назначены моей учетной записи (что исключает проблемы с аутентификацией), и ошибка связана с этой конкретной загрузкой (работает еще одна загрузка другого файла), а не с кодом загрузчика в целом.
Поэтому я подозреваю, что это ошибка Google, а не моя.
Что здесь происходит?