У объекта '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, и последняя версия доступна здесь.

Пожалуйста, используйте последнюю документацию.

Другие вопросы по тегам