2014-01-31 6 views
3

Я не могу определить из документов/примеров, как хранить/считывать двоичные данные из DynamoDB с помощью boto's dynamodb2. Как это делается?Как хранить двоичные данные в «Динамо» с помощью boto?

Моя догадка была с значением предмета, например { 'B': binary-data }, но это вызывает ошибку в коде JSON.

ответ

4

Нужно, чтобы база 64 была закодирована в строку.

from base64 import b64encode 
data = {'B': b64encode(binary_data)} 

Существует библиотека, которая может сделать это для вас: PynamoDB. Код, который обрабатывает сериализацию и из двоичного кода для Python 2 и 3, можно найти here.

Отказ от ответственности: Я являюсь автором PynamoDB.

8

бото обеспечивает двоичный класс, чтобы сделать это автоматически:

from boto.dynamodb2.table import Table 
from boto.dynamodb.types import Binary 

Table('mytable').put_item({'hashkey': Binary('\x01\x02')}) 
+2

FYI, декодировать, получить деталь и использовать '.value' член. например: 'item ['hashkey']. value' –

Смежные вопросы