소수점 이하 2 자리 이상을 포함하는 range_key를 삽입하려고하면 데이터베이스에 저장된 숫자가 처음 2 자리 소수로 잘립니다.DynamoDB에서 Boto를 사용하여 float를 range_keys로 삽입 할 수 없습니다.
어떻게이 문제를 해결할 수 있습니까?
max_number = 1000000.0
random_time = random.randrange(1, max_number-1)/max_number
range_key = int(time.time()) + random_time
data['item_id'] = '12345'
result = db.add(table='media', key=group_id,
range_key = range_key,
data=data)
"1347053744.819199"의 결과 range_key는 다음과 같이 삽입됩니다 "1347053744.82"
add()는 내가 작성한 래퍼 클래스의 함수입니다. 기본적으로 put_item입니다. range_key가 문자열 인 경우 비교 연산자를 사용할 수 있습니까? – ensnare
예, 모두들. 강력한 "BEGINS_WITH"를 포함합니다. http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Query.html – yadutaf
사실이게 boto의 버그입니다. https://github.com/boto/boto/pull/890#issuecomment- 8456495 – yadutaf