У объекта 'RiakBucket' нет атрибута 'new_binary'
Поскольку я пытаюсь сохранить файл изображения PNG в моем riakBucket. Согласно https://riak-python-client.readthedocs.io/en/1.5-stable/tutorial.html документации, описанной здесь, на самом деле с использованием riakBucketObject.new_binary().
Но когда я пытаюсь сделать это по моей системе, появляется эта ошибка:
Мой скрипт на Python:
>>> import riak
>>> myClient = riak.RiakClient(pb_port=8087, protocol='pbc')
>>> photo_bucket = myClient.bucket('photo-bucket')
>>> file_data = open('/home/kamli/Pictures/Store3.png','rb').read()
>>> key = photo_bucket.new_binary('myphoto', data=file_data, content_type='image/png')
Но ошибка такова:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'RiakBucket' object has no attribute 'new_binary'
Конфигурация системы:
Python version - 2.7.6
Riak Version - 2.2.0
2 ответа
Riak 2.2 изменился с 1.5, и текущий метод получения нового RiakObject из корзины просто использует RiakBucket.new()
или же RiakBucket.new_from_file()
, Документацию можно найти на их сайте readthedocs. Найдите переключатель версий в нижней части, чтобы посмотреть документацию для каждого основного выпуска.
В дополнение к тому, что сказал Aaron3468, я хотел бы отметить, что версия Riak Python Client не соответствует версии Riak. Клиент имеет версию в соответствии с semver, и последняя версия доступна здесь.
Пожалуйста, используйте последнюю документацию.