def put_message(client: boto3.client, message: Message): try: response = client.put_item( TableName=TABLE_NAME, Item={ k: SERIALIZER.serialize(v) for k, v in Message.Schema().dump(message).items() if v != '' or v is not None }) except ClientError as err: raise err else: return response
def get_message(client: boto3.client, member_id, message_id): try: get_result = client.get_item(TableName=TABLE_NAME, Key={ 'member_id': { 'N': str(member_id) }, 'message_id': { 'N': str(message_id) } }) except ClientError as err: raise err else: if get_result.get('Item') is None: return None deserialized = { k: DESERIALIZER.deserialize(v) for k, v in get_result.get('Item').items() } return Message.Schema().load(deserialized, unknown=EXCLUDE)