Как стать автором
Обновить

Комментарии 5

Было бы неплохо рассмотреть предложенные кейсы в формате сравнения с решением аналогичной задачи посредствам обычного файлового хранилища, чтобы были более очевидны плюсы и минусы использования той или иной технологии.

Спасибо за отзыв, постараемся учесть это пожелание!

Стоит, наверное, ещё отметить что при создании префикса в ключе объекта, в ряде систем, эти префиксы, отображаются как вложенные в бакет папки (каталоги). Если предполагается использовать бакеты с большим количеством файлов, то без таких префиксов, просто невозможно работать через инструменты с GUI.

В MinIO SDK, чтобы положить объект в бакет, нужно знать его размер

а вот что нам говорит документация на сайте minio

// Upload unknown sized input stream.
minioClient.putObject(
    PutObjectArgs.builder().bucket("my-bucketname").object("my-objectname").stream(
            inputStream, -1, 10485760)
        .contentType("video/mp4")
        .build());

кому верить то?

Прежде всего пример выше на Java, а речь в статье про Go SDK (как и все примеры на Go). И там особенность какая, у метода PutObject есть параметр objectSize int64, и его так же можно поставить в -1, но явно говорят:

objectSize
int64
Size of the object being uploaded. Pass -1 if stream size is unknown (Warning: passing -1 will allocate a large amount of memory)

Потому так и написано, что нужно знать размер (иначе может быть больно) :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий