При вызове операции PutObject произошла ошибка (XMinioInvalidObjectName): Имя объекта содержит неподдерживаемые символы

У меня есть следующий класс

class Foo:
    def value_to_filename(self, validated_data : dict):

        file_name = json.dumps(validated_data, cls=Encoder)
        file_name = self.convert_to_valid_s3_name(file_name)
        full_name = f"{file_name}.json"
        return full_name

    @classmethod
    def convert_to_valid_s3_name(cls, text : str):
        "value to cleaned filename"
        return base64.urlsafe_b64encode(text.encode()).decode()

при загрузке в s3 появляется сообщение о том, что имя объекта содержит неподдерживаемые символы, даже если это не так измеряя размер имени, он был меньше 450 байт, а максимальный 1024, так что это не может быть проблемой но если разделить имя и использовать каждую половину отдельно, чтобы проверить, какая часть строки недействительна, обе половины работали отлично

пример строки:

path/path/path/eyJhZGRsick12456IDEsICJtb2RpZmllZF9ieSI6IDEsICJjaGF0X2lkIjogIiIsICJjcmVhdGVkX2F0IjogIjIwMjotMDMtMjQgMjA6MjU6MjkuNzY1NzM0KzAwOjAwIiwgIm1vZGlmaWVkX2F0IjogbnVsbDwgInT4cGUQOiAic2FwZm9rYXBma2FwZnNkcFtsZnNkYVsgbGFmcGFkc29mIGthc1tvWyBscWVhLWZwIGRzW3BscjJbM3IncWUseHouZiwsengvZix6eCA7LGFzLGZhcydmIiwgImNhcmVQcm92aWRlciI6ICJhb3BrZmFwZiIsICJzdGFydF9kYXRlIjogIjIwMjQtMDMtMTQgMSQ6MTE6NDcuNjAxMDAwKzAwOjAwIn1=.json

Использование хранилища idrivee

Вернуться на верх