I have insert to s3 6bil rows table:
```
INSERT INTO FUNCTION
s3('https://s3.us-east-1.amazonaws.com/my-bucket/data.csv', 'DFGHJ', 'FGHJIJH, 'CSVWithNames', 'time DateTime, exchangeId UInt16, pairId UInt16, id String, price Decimal(38, 18), volume Decimal(38, 18)')
SELECT * FROM trade;
```
but it fails trying to upload part 10001 while aws s3 upload [supports](https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html) only 10k parts.

I had to export this select into CSV 600GB file on the disk and then perform successful `aws s3 cp data.csv s3://my-bucket/data.csv`

I expected Clickhouse would do it on his own successfully. 

┌─version()─┐
│ 22.1.3.7  │
└───────────┘

{
            const String & key = row.GetKey();
            
            if (key.find("/operations/") != String::npos)
                continue;
            const auto [revision, _] = extractRevisionAndOperationFromKey(key);
            
            if (revision > restore_information.revision)
                continue;
            keys.push_back(key);
        }
        if (!keys.empty())
        {
            auto result = getExecutor().execute([this, &restore_information, keys]()
            {
                processRestoreFiles(restore_information.source_bucket, restore_information.source_path, keys);
            });
            results.push_back(std::move(result));
        }
        return true;
    };
    
    listObjects(restore_information.source_bucket, restore_information.source_path, restore_files);
    for (auto & result : results)
        result.wait();
    for (auto & result : results)
        result.get();
    LOG_INFO(log, "Files are restored for disk {}", name);
}
void DiskS3::processRestoreFiles(const String & source_bucket, const String & source_path, Strings keys)