Tôi đang cố gắng để put_item kiểm tra xem có mục nào có cùng HashKey trước khi thực sự thêm mục mới hay không.Boto DynamoDB2 có điều kiện put_item
Theo tài liệu boto DynamoDB2, có thể thực hiện điều đó với "Đặt điều kiện".
Tôi đã thử lệnh sau nhưng không may mắn.
connection.put_item('table',item={'locationId':'a1', 'timestamp': time.time()}, expected={'locationID':False})
Thông báo lỗi như sau.
boto.exception.JSONResponseError: JSONResponseError: 400 Bad Request
{u'Message': u'Expected null', u'__type': u'com.amazon.coral.service#SerializationException'}
Có ai có điều kiện với DynamoDBv2 không?
Nhờ tất cả trước.
Bạn có thể yêu cầu DynamoDB chỉ lưu trữ mục nếu chưa có một mục có cùng khóa chính nhưng trong trường hợp đó mệnh đề '' expected'' sẽ phải tham chiếu đến khóa chính đó, chứ không phải '' False' '. – garnaat
@garnaat, Cảm ơn bạn đã bình luận. Tôi nghĩ rằng có thể có nhiều lỗi. Tôi đã thử lệnh ngay cả khi không có phần 'mong đợi' và vẫn nhận được cùng một lỗi - 'boto.exception.JSONResponseError: JSONResponseError: 400 Yêu cầu Không hợp lệ {u'Message': u'Expected null ', u' __ type ': u'com .amazon.coral.service # SerializationException '} '. Tôi tự hỏi nếu có bất kỳ ví dụ 'put_item()' có điều kiện nào mà tôi có thể xem xét ... Tôi đã thử tìm kiếm trên google nhưng không may mắn. – nicklee
@garnaat bạn có bất kỳ mã ví dụ nào hoạt động với DynamodB v2 không? – nicklee