    URL       = "storage-155.s3hoster.by";
    AccessKey = "BRN5RKJE67...";
    SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
    Region    = "BTC";

    ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);

    Наименование = "fileChunked.mp3";

    Каталог = Истина; // Формирование URL в path-style
    Бакет = "";
    Содержимое = "https://hut.openintegrations.dev/test_data/song.mp3"; // URL, Путь или Двоичные данные
    Содержимое = OPI_ЗапросыHTTP.Get(Содержимое);

    Результат = OPI_S3.ИнициализироватьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, , Каталог);
    // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    IDЗагрузки    = Результат["response"]["InitiateMultipartUploadResult"]["UploadId"];
    ОбщийРазмер   = Содержимое.Размер();
    РазмерУчастка = 5242880;
    ПрочитаноБайт = 0;
    НомерЧасти    = 1;

    ЧтениеДанных  = Новый ЧтениеДанных(Содержимое);
    ИсходныйПоток = ЧтениеДанных.ИсходныйПоток();
    МассивТегов   = Новый Массив;

    Пока ПрочитаноБайт < ОбщийРазмер Цикл

        ТекущееЧтение = ЧтениеДанных.Прочитать(РазмерУчастка);
        ТекущиеДанные = ТекущееЧтение.ПолучитьДвоичныеДанные();

        Если ТекущиеДанные.Размер() = 0 Тогда
            Прервать;
        КонецЕсли;

        Результат = OPI_S3.ЗагрузитьЧастьОбъекта(Наименование
            , Бакет
            , ОсновныеДанные
            , IDЗагрузки
            , НомерЧасти
            , ТекущиеДанные
            , Каталог);

        ПрочитаноБайт = ИсходныйПоток.ТекущаяПозиция();

        ETag = Результат["headers"]["Etag"];
        ETag = ?(ETag = Неопределено, Результат["headers"]["ETag"], ETag);

        МассивТегов.Добавить(ETag);

        НомерЧасти = НомерЧасти + 1;

    КонецЦикла;

    Результат = OPI_S3.ЗавершитьЗагрузкуЧастями(Наименование, Бакет, ОсновныеДанные, IDЗагрузки, МассивТегов, , Каталог);
