При вызове операции 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