Я пытаюсь найти эту информацию, но пока без особого успеха.
У меня есть довольно большой файл на S3 (в диапазоне 64-128Gb), и я хотел бы прочитать из него случайные диапазоны байтов - это выполнимо? Я предполагаю, что смещение диапазона байтов будет очень большим для кусков где-то близко к концу файла.
Типичные куски чтения составляют 1-12 Кб, если это важно.





Это не будет проблемой.
В Документы Амазон указано, что заголовок Range поддерживается в соответствии со спецификацией (но только один диапазон на запрос):
Range
Downloads the specified range bytes of an object. For more information about the HTTP Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
RFC2616 не определяет верхний предел.
The first-byte-pos value in a byte-range-spec gives the byte-offset of the first byte in a range. The last-byte-pos value gives the byte-offset of the last byte in the range; that is, the byte positions specified are inclusive. Byte offsets start at zero.
Это имеет смысл, поскольку диапазон автоматически ограничивается размером файла, а система, которая, скажем, в целом поддерживает только 32-битные числа, обычно также поддерживает только файлы размером до 2 ГБ (минус один).