'Runs this query.
If a filter string is invalid, raises BadFilterError. If a filter value is
invalid, raises BadValueError. If an IN filter is provided, and a sort
order on another property is provided, raises BadQueryError.
If you know in advance how many results you want, use limit=#. It\'s
more efficient.
Args:
kwargs: Any keyword arguments accepted by datastore_query.QueryOptions().
Returns:
# an iterator that provides access to the query results
Iterator'

def Run(self, **kwargs):

    config = _GetConfigFromKwargs(kwargs, convert_rpc=True, config_class=datastore_query.QueryOptions)
    itr = Iterator(self.GetBatcher(config=config))
    self.__index_list_source = itr.GetIndexList
    self.__cursor_source = itr.cursor
    self.__compiled_query_source = itr._compiled_query
    return itr
