порядка 1.3 Gb (фид)
Эту структуру нужно преобразовать в слайс байт и отдать на загрузку в s3 бакет
Преобразование в слайс байт делаю через bytes.Buffer{}, что сразу вызывает увеличение расхода ОЗУ в 2 раза, до 3Gb примерно. Из-за копирования данных.
s3 клиент для загрузки файла принимает интерфейс io.ReadSeeker
Может есть какие-то способы избавиться от копирования данных в этом случае?
Если есть гарантия, что при передачи в с3 структура остаётся иммутабельной, можно реализовать ReadSeeker у самой структуры (либо сделать visitor)
а зачем там Seeker?
о я так делал, симулировал iso-шник без его сборки)
Без понятия, клиент s3 хочет
для докачки, вероятно
https://pkg.go.dev/github.com/aws/aws-sdk-go/service/s3#hdr-Upload_Managers оно?
Да, если быть точнее, то https://pkg.go.dev/github.com/aws/aws-sdk-go/service/s3#PutObjectInput
Обсуждают сегодня