示例#1
0
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
示例#2
0
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)