/// <summary>
        /// 获取通道消费信息
        /// </summary>
        /// <param name="streamName">通道名称</param>
        /// <param name="appName">App名称</param>
        /// <param name="startPartitionId">起始分区ID</param>
        /// <param name="limit">表示需要返回多少个parition的消费状态</param>
        /// <returns></returns>
        public static GetStreamConsumingResult GetStreamConsumingInfo(string streamName, string appName, string startPartitionId, long?limit)
        {
            GetStreamConsumingResult response = null;
            var dic     = new DISIngestionClient();
            var request = new GetStreamConsumingRequest {
                CheckpointType = "LAST_READ"
            };

            //表示获取流消费信息时的起始partition
            if (!string.IsNullOrEmpty(startPartitionId))
            {
                request.StartPartitionId = startPartitionId;
            }
            else
            {
                request.StartPartitionId = "0";
            }

            //表示需要返回多少个parition的消费状态
            if (limit != null)
            {
                request.Limit = limit.Value;
            }
            else
            {
                request.Limit = 10;
            }

            response = dic.GetStreamConsumingInfo(streamName, appName, request);
            var responseJson = JsonConvert.SerializeObject(response);

            Console.WriteLine(responseJson);
            return(response);
        }
예제 #2
0
        public GetStreamConsumingResult GetStreamConsumingInfo(string streamName, string appName, GetStreamConsumingRequest consumingRequest)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.GET.ToString()
            };

            var resourcePath = ResourcePathBuilder.Standard()
                               .WithProjectId(_disConfig.GetProjectId())
                               .WithResource(new AppResource(null, appName))
                               .WithResource(new StreamResource(null, streamName))
                               .Build();

            requestobs.ResourcePath = resourcePath;
            var results = this.Request <GetStreamConsumingResult>(consumingRequest, requestobs);

            return(results);
        }