Дано:
1) массив файлов ~10Гб которые нужно прочитать порцией не более 4Гб каждая и перевести каждую порцию в двоичные данные
2) отправить порцию multipart-ом на яндекс.storage

п.2 я попробую сделать сам, проблема с чтением файла. С потоками и прочими вещами ни разу не работал. Плюсом у яши есть требование: Пользовательские метаданные объекта следует передавать на этом этапе загрузки
Хотя, насколько понял, это сигнатура расширения.
---
1. Создать Объект ЧтениеДанных на основании имени файла.
2. Использовать функцию объекта ЧтениеДанных - РазделитьНаЧастиПо (РазмерЧасти)
3. п.2 вернет массив элементов типа РезультатЧтенияДанных
4. ДвоичныеДанные можешь получить с помощью метода ПолучитьДвоиччныеДанные() для объекта с типом РезультатЧтенияДанных
5. Дальше уже работаешь с двоичными данными там сохраняешь . отправляешь и т.д и т.п.

В общем смотри синтаксис - помощник , там все написано.
---
А в чем проблема ? Что не получается ?
---
С потоками и прочими вещами ни разу не работалА начать-то собираетесь?
---
Добрый день!

Массив файлов, общим объемом 10Гб, который нужно "поделить на порции", это какой тип данных ?
Читаем - откуда ? Если это не локальный источник, есть уверенность, что там нет таймаута на сеанс ?
"Переводим в двоичные данные" , куда сохраняем ?
---
На жёстком диске есть папка. В этой папке файлы по ~10Гб каждый. Формат бинарный. Каждый из этих файлов надо отправить порционно, не более 4Гб, на удалённый сервер. Отправить я смогу. Интересует считывание и перевод порции в двоичные данные.
Беглый гуглёж подсказал, что можно использовать ПотокВПамяти, ЧтениеДанных, ФайловыеПотоки
---
можно использоватьНу так используйте же.
---
1. Создать Объект ЧтениеДанных на основании имени файла.
2. Использовать функцию объекта ЧтениеДанных - РазделитьНаЧастиПо (РазмерЧасти)
3. п.2 вернет массив элементов типа РезультатЧтенияДанных
4. ДвоичныеДанные можешь получить с помощью метода ПолучитьДвоиччныеДанные() для объекта с типом РезультатЧтенияДанных
5. Дальше уже работаешь с двоичными данными там сохраняешь . отправляешь и т.д и т.п.

В общем смотри синтаксис - помощник , там все написано.
---
вот это дело! Попробую, о результатах обязательно отпишусь.
---
Итак, шаблон кода, для выгрузки файлов на Yandex.Storage через multipart. Упростил конструкцию, которую предлагал vadim1011985. Ограничился РазделитьДвоичныеДанные. Вообще, минус этих подходов, что активно используется жёсткий диск. В Temp закидываются временные файлы. Как это обыграть - не придумал. Перенёс на более ёмкое хранилище, т.к в моём случае файлы по 50Гб... Ну вы поняли.
Также использовал Коннектор. Но можно писать запросы и самому.

```1c
    ТЗ = Новый ТаблицаЗначений; ////для хранения номеров порций и Etag
    ТЗ.Колонки.Добавить("НомерПорции");
    ТЗ.Колонки.Добавить("Етаг");

    ПутьКБакету = "https://ххх.storage.yandexcloud.net/имябакета/";

    Для Каждого х ИЗ Файлы Цикл ////массив из значений с типом Файл

    ИмяФайла = Лев(х.Имя, Найти(х.Имя, "_") - 1);
    Ответ = КоннекторHTTP.Post(ПутьКБакету + ИмяФайла + "?uploads", Неопределено, ДополнительныеПараметры);

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(Ответ.Тело);
    Пока ЧтениеXML.Прочитать() Цикл
    Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.ЛокальноеИмя = "UploadId" Тогда
    ЧтениеXML.Прочитать();
    АплоадИд = XMLЗначение(Тип("Строка"), ЧтениеXML.Значение);
    КонецЕсли;
    КонецЦикла;

    ТЗ.Очистить();

    Порции = РазделитьДвоичныеДанные(5300000001); ///потолок размера порции, который принимает сервер
    НомерПорции = 1;
    Для Каждого Порция ИЗ Порции Цикл
    ДополнительныеПараметры.Вставить("Данные", Порция);
    Ответ = КоннекторHTTP.Put(ПутьКБакету + ИмяФайла + "?partNumber=" + НомерПорции + "&uploadId=" + АплоадИд, Неопределено, ДополнительныеПараметры);

    Етаг = Ответ.Заголовки.Получить("Etag");
    НС = ТЗ.Добавить();
    НС.НомерПорции = НомерПорции;
    НС.Етаг = Етаг;

    НомерПорции = НомерПорции + 1;
    КонецЦикла;

    ТЗ.Сортировать("НомерПорции Возр"); ///порции должны быть упорядоченными

    ////через ЗаписьXML мутить не стал, т.к. в теле должна быть Строка
    Массив = Новый Массив;
    Массив.Добавить("<CompleteMultipartUpload>");
    Для Каждого х ИЗ ТЗ Цикл
    Массив.Добавить("<Part>");
    Массив.Добавить("<PartNumber>" + х.НомерПорции + "</PartNumber>");
    Массив.Добавить("<ETag>" + х.Етаг + "</ETag>");
    Массив.Добавить("</Part>");
    КонецЦикла;
    Массив.Добавить("</CompleteMultipartUpload>");

    ДополнительныеПараметры.Вставить("Данные", СтрСоединить(Массив));
    Ответ = КоннекторHTTP.Post(ПутьКБакету + ИмяФайла + "?uploadId=" + АплоадИд, Неопределено, ДополнительныеПараметры);

    КонецЦикла;
```