code: def get_cursor(self, project_name, logstore_name, shard_id, start_time):
          
  
          headers = {'Content-Type': 'application/json'}
          params = {'type': 'cursor',
                    'from': str(start_time) if start_time in ("begin", "end") else parse_timestamp(start_time)}
  
          resource = "/logstores/" + logstore_name + "/shards/" + str(shard_id)
          (resp, header) = self._send("GET", project_name, None, resource, params, headers)
          return GetCursorResponse(resp, header)
docs: Get cursor from log service for batch pull logs
          Unsuccessful opertaion will cause an LogException.
  
          :type project_name: string
          :param project_name: the Project name 
  
          :type logstore_name: string
          :param logstore_name: the logstore name
  
          :type shard_id: int
          :param shard_id: the shard id
  
          :type start_time: string/int
          :param start_time: the start time of cursor, e.g 1441093445 or "begin"/"end", or readable time like "%Y-%m-%d %H:%M:%S<time_zone>" e.g. "2018-01-02 12:12:10+8:00", also support human readable string, e.g. "1 hour ago", "now", "yesterday 0:0:0", refer to https://aliyun-log-cli.readthedocs.io/en/latest/tutorials/tutorial_human_readable_datetime.html
  
          :return: GetCursorResponse
          
          :raise: LogException