Привет. у одного меня проблемы с range-запросами в object storage?

29 ответов

117 просмотров

Что за проблема?

Dmitry-Kulagin Автор вопроса
Jürgen Romins
Что за проблема?

Ошибка 500. Тела не знаю

Dmitry Kulagin
Ошибка 500. Тела не знаю

Не густо ты деталей дал

Dmitry Kulagin
Ошибка 500. Тела не знаю

Ну 500 это ведь не только "что-то сломалось в Object Storage". Это ещё тут забыли вставить проверочку валидности запроса и вернуть 400 Bad Request чтобы не свалиться ниже на ассерте. В общем, я бы даблчекнул что запрос готовите правильно.

Dmitry-Kulagin Автор вопроса
Sergey Klyaus
Ну 500 это ведь не только "что-то сломалось в Obje...

500 - это серверная ошибка. Если сервер считает, что некорректный запрос - он отвечает 4xx ошибкой. Еще одной особенностью является то, что этот код нормально работал раньше (запрос проходил), а потом перестал проходить. Так то я переписал свой проект, теперь он не делает запросов с Range.

Dmitry Kulagin
500 - это серверная ошибка. Если сервер считает,...

Не всегда 5xx это серверная ошибка от слова совсем

Dmitry-Kulagin Автор вопроса
Jürgen Romins
Не всегда 5xx это серверная ошибка от слова совсем

https://ru.m.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_HTTP

Dmitry Kulagin
500 - это серверная ошибка. Если сервер считает,...

Ну я, например, не помню этой красивой схемки и наверное, разработчики постарше тоже - творят что хотят.

Dmitry Kulagin
https://ru.m.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8...

По некоторым стандартам безопасности подменяют 4xx на 5xx! Я в курсе за http коды но не читайте с утра советских газет

Nikolay Matrosov
Ну хоть не на 200 и то хорошо

А на 2xx я тоже видел и когда проходил по одному проекту комплаинс там вендоры прям хотели

Dmitry-Kulagin Автор вопроса

С range все работало. Сейчас я просто скачиваю весь файл на диск и с ним побайтово работаю.

Dmitry Kulagin
С range все работало. Сейчас я просто скачиваю вес...

В s3 как работает? Это единственный сильный аргумент в такой ситуации

Dmitry-Kulagin Автор вопроса
Pavel Zheltouhov
В s3 как работает? Это единственный сильный аргуме...

Раньше побайтово через range читал файл. Сейчас кэширую на диск и продолжаю побайтово работать.

Dmitry-Kulagin Автор вопроса

https://github.com/snabb/httpreaderat/blob/master/httpreaderat.go#L122

Тот же код, но примененный к aws s3 работает хорошо?

Dmitry-Kulagin Автор вопроса
Pavel Zheltouhov
Тот же код, но примененный к aws s3 работает хорош...

Тот же код, но примененный к веб-серверу, который поддерживает стандарт - работает хорошо.

Dmitry Kulagin
Тот же код, но примененный к веб-серверу, который ...

Нам так-то все равно на стандарт и вашу программу. Просто хотел подсказать как именно построить общение с техподдержкой. Я считаю сравнение с AWS более продуктивным.

Dmitry-Kulagin Автор вопроса
Pavel Zheltouhov
Нам так-то все равно на стандарт и вашу программу....

https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html#API_GetObject_RequestSyntax

Dmitry Kulagin
https://docs.aws.amazon.com/AmazonS3/latest/API/AP...

Не понимаю. Это лог запуска?

Dmitry-Kulagin Автор вопроса
Pavel Zheltouhov
Не понимаю. Это лог запуска?

Это дока амазона, раз вам все равно на стандарт.

Dmitry Kulagin
https://github.com/snabb/httpreaderat/blob/master/...

Эм а почему не через либу? Я только что проверил нормально читает ``` b'\xe4Pq\x11P@\xc1uE]\xd8\xbf\x88\x07\xe8\n\x9e\x80\xba\x93\xcc@;eJ8\xa6A\xf9\xe7\xf9\xc0\xa7\xed\xe4\xed\xcc7\xef\xf3\xfe\x9e\xf7y\x9f\xf7M}\x01g(\xcc\xba\x07\xdb\\\xbe<E+\x19\xc0\x19\x8e\xa2\x89\xaf\x9c5\xff\x9a\xf8\x1eDP\x10\x81\xb9\x7f\x10\xa8\x00@\x08\xe0\xbed\xa1\xad\x05\xd4\xd4\xc2\xc1\x10\x19\xc8\xcaR\x04\xbc\xde\xd0\xf9\xda%{\xfdwj\xbe&\xfe\x17\xbe\x97}\x1c\\\xbc\xffa\x14\xc4\xd2\xfeO\x85I\xf9?\xc8\x84BN\xb66\x98\xebaB$M\x86\xc8\xdc\xba\xa0\x97\xbd\xf4g\xc4\x1d\x8c!H\x8b\xfe\x87P\\\xec\x7f\x08\x00`D\x91\x05\xc8\xf76[\xb6\xff\xe7\xfe\x1f\x95\xeddi&\xca\x04\xb3\x87\xdc5*;\x92=dTv_6\xec\xb11\x81"6\x94=$\x1b\xca\x1e3(\xdb\xc5\xc4\xe2/X\x9d\xf49\xaf\x83\xd9c\xb8\x06,\xe9a\xb8\x1f\xb8\x06\xd6\xec1w\x0f\xca\x0e\x87\xe3M\xb3A\x92\x00a\x06dh\xd8nGH\x9cP\xe2\x0c\t"\x00B\x11\x94\r\xb2C\xb6\xecA\xd9\x94\xd7\xedf\xa8\x90\xd3\xcb\x96\xf2\xf783\xf8\xb8\xd7B1_\xfcJc\x93\xec1W\xba\xbb\xae:\x93\xd2?\x19\x0e9\xac\xac\x97\xa5\x18yB@2\xfd\xe3\x10\xda\\\xff(\x00\xa5\xf5\x9f\nk\x05\xfd\x0fJv\x9f\x90\xd7\xc5\xb0Rw\xe2n\x14\x1fu\xe7\x7fH\xe2\xb7\xad ?@\xad \x17\'l$\xe5\xaa\rx\xc3,\x87\x17\n\x84\x19.\xfe\xb0N\x7f\x98\xe1\x7f\xba\x00\x1e\xa7\x87\xe1F\x81\xc7\x97\xe4\xc1g\x9a\xb5\xf0P&\xeas\x06\x18\x95=\xc4\x04L\x0c\xe5e\xe9\xe09\xf7#0\x04\x00\xb8{6\x86H\x00\xa6q\x9a\x82\x94J;\x89 4E\x13(@\xda\xb8\xec\x97\xb6# \n\xdah\xa9\x10\xd9D\x9f\x97\x1d%[\xd4\xbf\xdb\xe9qr\xefD\x8e\x00\x90L\xff(\x804\xd7?\xc6\xa5\x8bi\xfd\xa7\xc0\xae\x88\xfeS\xa67\xac\x99\xdaP\x1c\x02A\x8c\xa2Q%\x84"\x00\t\x110J0\xa4\x12\xc7lJ\x1bL\x12T\x8bj\x13\xd4p\xf5%%R\xfaw;YW\xd0\xea\xf0\x06C\xc1\\\xdbee\xfe\xbc%\xd3\xff\xb9\xeb?\x0c\x87\xf0\xb4\xfeSaR\xfe\x8fD\xdd$+\xdb\xea/\xb9\xff\x11\x04j\xe6\x7f\x1c\x05\xe0\xb4\xffSaW"\xfe\x07\x99@\x84\t$\xbd\xdb\xd9f\x17\x92\xe45\xc6x\x1c\x80q;C0\xb4\x1d\xb0!\x14@\x12J\n\xb3\x91$F\x004\nA8$\x15\xe3\xf9\x11\x7f\xf5E\xf7\xe4\xd6r\xfcw{)2\xde\x03\x97?\x07\\|\xfc\xc7Q,\xbd\xfeK\x89I\xfa\xdf[ke\xd8P\xc0\x99\xa2\xf5?\x8aJ\xac\xff\xd3\xf3\x7fJlT\xb6\xd7\x97Py<\x16S\xa4\xcf\xc7\x9c\x8d\xafAg\xc3\xb9Kq\x08M\xe4\xd4\x83\xb2=d\xf4\x9c\x17Q \x11\xbf\x7fK+\x8a\xc1-,)\x06K\xcd)Mf\x11\x9a\x800%D\xc18\x0cA\x08h\x83m\x0cE\xdb\x10\x9a\xb63\x14\xcc\xad\x16`\xa9Y\xa4\x89n~7S\x89\x94\xfei\x87\xd5G\x06H\x8f<\xd9\x7fR\xfdC\x18rN\xfe\x0f#`Z\xff\xa9\xb0\x83m\x14\x8a\x8e\x9c\xca\x14\xf4\xa8\xf6o\xf5[\xeb3\xfc\xa3\xe7I\xa0\xdb\x99\x11`\xb59CA\x85\xa2\x93B\xd1\xf6\xec\xa0P\xac\xe4~ep\xdc\xf2\xb5\x85E\xa5Y\x1a]V\xb9\xaaBe\xd0Vj+L\x89\xeb\x99\x86\xa2\xa2|\xb5\xaaD\xad2jU\x0e\xa3\xdfUTQVFA\x9e"\xd2\xa2Qz\xdc\x85\x11\xc2\x12\xb4\xf8\xc2>\x03\xcd\xb2*\x88\x06<9\x14\x1cE4\x1e\xa28f\xca\xb3\xd01S\xa6\x16-\x89j\xd4\x85\xe6X\xbd\xb6\xd2\xd90\x02\xa8G\xaa\x08\xa7\xba\xb0\xb8L\x97\x83V\xa3\xfaB\xb6\xc6\xae10\r\xc1\xca\n\xac\xca' ``` И тд))

Dmitry-Kulagin Автор вопроса
Jürgen Romins
Эм а почему не через либу? Я только что проверил н...

Потому что в aws либе нет возможности возвращать io.ReaderAt, только io.Reader. Кстати, я пробую это все на гошке, а не питоне.

Кто такое сказал?

Dmitry-Kulagin Автор вопроса
Jürgen Romins
Кто такое сказал?

Глянь что в Body в ответе: https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#S3.GetObject

Dmitry Kulagin
Глянь что в Body в ответе: https://docs.aws.amazon...

Потому что это не GetObject а GetObjectInput

Dmitry-Kulagin Автор вопроса
Jürgen Romins
Потому что это не GetObject а GetObjectInput

В Input можно передать range, который преобразуется в http заголовок range.

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта