def get_item(self, table_name, hash_key, range_key=None, consistent_read=False, attributes_to_get=None):
    '\n        Performs the GetItem operation and returns the result\n        '
    operation_kwargs = {}
    name_placeholders = {}
    if (attributes_to_get is not None):
        projection_expression = create_projection_expression(attributes_to_get, name_placeholders)
        operation_kwargs[PROJECTION_EXPRESSION] = projection_expression
    if name_placeholders:
        operation_kwargs[EXPRESSION_ATTRIBUTE_NAMES] = self._reverse_dict(name_placeholders)
    operation_kwargs[CONSISTENT_READ] = consistent_read
    operation_kwargs[TABLE_NAME] = table_name
    operation_kwargs.update(self.get_identifier_map(table_name, hash_key, range_key))
    try:
        return self.dispatch(GET_ITEM, operation_kwargs)
    except BOTOCORE_EXCEPTIONS as e:
        raise GetError('Failed to get item: {0}'.format(e), e)
Performs the GetItem operation and returns the result
def get_item(self, table_name, hash_key, range_key=None, consistent_read=False, attributes_to_get=None):
    '\n        \n        '
    operation_kwargs = {}
    name_placeholders = {}
    if (attributes_to_get is not None):
        projection_expression = create_projection_expression(attributes_to_get, name_placeholders)
        operation_kwargs[PROJECTION_EXPRESSION] = projection_expression
    if name_placeholders:
        operation_kwargs[EXPRESSION_ATTRIBUTE_NAMES] = self._reverse_dict(name_placeholders)
    operation_kwargs[CONSISTENT_READ] = consistent_read
    operation_kwargs[TABLE_NAME] = table_name
    operation_kwargs.update(self.get_identifier_map(table_name, hash_key, range_key))
    try:
        return self.dispatch(GET_ITEM, operation_kwargs)
    except BOTOCORE_EXCEPTIONS as e:
        raise GetError('Failed to get item: {0}'.format(e), e)