@handler.authenticated()
  @handler.asynchronous(datastore=True, log_store=True)
  @admin.require_permission(level='root')
  def get(self):
    user_id = self.get_argument('user_id', None)
    key_prefix = self._GetOpLogPrefix(user_id)
    # Table paging saves a DBKey. We store the S3 key into the field normally used for the hash key.
    req = self.ReadTablePageRequest(self.DB_TABLE)
    last_key, _ = req.last_key if req.last_key is not None else (None, None)

    def _OnGetKeys(items):
      rows = [self._FormatResult(item) for item in items]
      last_marker = items[-1] if len(items) > 0 else ''
      self.WriteTablePageResponse(rows, db_client.DBKey(last_marker, None))

    self._log_store.ListKeys(_OnGetKeys, prefix=key_prefix, marker=last_key, maxkeys=req.length)
dataset/ETHPy150Open viewfinderco/viewfinder/backend/www/admin/user_logs.py/UserLogDataHandler.get/original