protected new PutRecordsResult InnerPutRecords(PutRecordsRequest putRecordsParam)
        {
            // Decorate PutRecordsRequest if needed
            putRecordsParam = DecorateRecords(putRecordsParam);

            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();

            OBS.Runtime.Internal.IRequest requestobs = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.POST.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new RecordResource(null))
                                  .Build();

            requestobs.ResourcePath = resourcePath;

            if (_disConfig.GetBodySerializeType().ToLower().Equals(BodySerializeType.Protobuf.ToString().ToLower()))
            {
                requestobs.Headers.Add("Content-Type", "application/x-protobuf; charset=utf-8");
                requestobs.Headers.Add("accept", "*/*");
                HuaweiCloud.DIS.Api.Protobuf.PutRecordsRequest protoRequest = ProtobufUtils.ToProtobufPutRecordsRequest(putRecordsParam);
                HuaweiCloud.DIS.Api.Protobuf.PutRecordsResult  protoResult  = Request <HuaweiCloud.DIS.Api.Protobuf.PutRecordsResult>(protoRequest.ToByteArray(), requestobs, InterfaceType.DISInterfacePutRecords);
                PutRecordsResult result = ProtobufUtils.ToPutRecordsResult(protoResult);
                return(result);
            }
            else
            {
                var results = Request <PutRecordsResult>(putRecordsParam, requestobs);
                return(results);
            }
        }
示例#2
0
        public ResponseResult DeleteTransferTask(string streamName, string transferTaskName)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();

            OBS.Runtime.Internal.IRequest requestobs = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.DELETE.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new StreamResource(null, streamName))
                                  .WithResource(new TransferTaskResource(null, transferTaskName))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            ResponseResult results = null;

            try
            {
                results = Request <ResponseResult>(null, requestobs);
            }
            catch (Exception)
            {
                throw;
            }

            return(results);
        }
        /// <summary>
        /// 下载
        /// </summary>
        /// <param name="getRecordsParam"></param>
        /// <returns></returns>
        public new GetRecordsResult GetRecords(GetRecordsRequest getRecordsParam)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.GET.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new RecordResource(null))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            GetRecordsResult result = null;

            if (_disConfig.GetBodySerializeType().ToLower().Equals(BodySerializeType.Protobuf.ToString().ToLower()))
            {
                requestobs.Headers.Add("Content-Type", "application/x-protobuf; charset=utf-8");
                requestobs.Headers.Add("accept", "*/*");
                result = Request <GetRecordsResult>(getRecordsParam, requestobs, InterfaceType.DISInterfaceGetRecords);
            }
            else
            {
                result = Request <GetRecordsResult>(getRecordsParam, requestobs);
            }

            result = DecorateRecords(result);
            return(result);
        }
示例#4
0
        /// <summary>
        /// 删除Checkpoint
        /// </summary>
        /// <param name="checkPointRequest"></param>
        /// <returns></returns>
        public ResponseResult DeleteCheckpoint(CheckPointRequest checkPointRequest)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.DELETE.ToString()
            };

            var resourcePath = ResourcePathBuilder.Standard()
                               .WithProjectId(_disConfig.GetProjectId())
                               .WithResource(new CheckPointResource(null))
                               .Build();

            requestobs.ResourcePath = resourcePath;
            //requestobs.ResourcePath = resourcePath.TrimEnd('/') + "?stream_name=" + checkPointRequest.StreamName + "&app_name=" + checkPointRequest.AppName;

            //if (!string.IsNullOrEmpty(checkPointRequest.PartitionId))
            //{
            //    requestobs.ResourcePath += "&partition_id=" + checkPointRequest.PartitionId;
            //}

            //if (!string.IsNullOrEmpty(checkPointRequest.CheckpointType))
            //{
            //    requestobs.ResourcePath += "&checkpoint_type=" + checkPointRequest.CheckpointType;
            //}

            ResponseResult results = this.Request <ResponseResult>(checkPointRequest, requestobs);

            return(results);
        }
示例#5
0
        /// <summary>
        /// 删除通道
        /// </summary>
        /// <param name="describeStreamRequest"></param>
        /// <returns></returns>
        public ResponseResult DeleteStream(DescribeStreamRequest describeStreamRequest)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.DELETE.ToString()
            };

            var resourcePath = ResourcePathBuilder.Standard()
                               .WithProjectId(_disConfig.GetProjectId())
                               .WithResource(new StreamResource(null, describeStreamRequest.StreamName))
                               .Build();

            requestobs.ResourcePath = resourcePath;
            ResponseResult results = this.Request <ResponseResult>(describeStreamRequest, requestobs);

            return(results);
        }
示例#6
0
        public UpdateShardsResult UpdatePartition(UpdateShardsRequest updateShardsRequest)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.PUT.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new StreamResource(null, updateShardsRequest.StreamName))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            var result = Request <UpdateShardsResult>(updateShardsRequest, requestobs);

            return(result);
        }
示例#7
0
        public DescribeAppListResult DescribeAppList(DescribeAppListRequest describeAppRequest)
        {
            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))
                               .Build();

            requestobs.ResourcePath = resourcePath;
            var results = this.Request <DescribeAppListResult>(describeAppRequest, requestobs);

            return(results);
        }
示例#8
0
        /// <summary>
        /// 查询Checkpoint
        /// </summary>
        /// <param name="getCheckpointRequest"></param>
        /// <returns></returns>
        public GetCheckpointResult GetCheckpoint(GetCheckpointRequest getCheckpointRequest)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.GET.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new CheckPointResource(null))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            var result = Request <GetCheckpointResult>(getCheckpointRequest, requestobs);

            return(result);
        }
示例#9
0
        //public ResponseResult CreateSchema(CreateSchemaRequest schemaRequest)
        //{
        //    ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
        //    IRequest requestobs = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
        //    {
        //        HttpMethod = HttpMethodName.POST.ToString()
        //    };

        //    var resourcePath = ResourcePathBuilder.Standard().WithVersion("v1")
        //        .WithProjectId(_disConfig.GetProjectId())
        //        .WithResource(new SchemaResource(null))
        //        .Build();
        //    requestobs.ResourcePath = resourcePath.Trim('/') + "?type=JSON";
        //    var results = this.Request<ResponseResult>(schemaRequest, requestobs);

        //    return results;
        //}

        public ResponseResult CreateApp(AppRequest getShardIteratorParam)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();

            OBS.Runtime.Internal.IRequest requestobs = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.POST.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new AppResource(null))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            var results = Request <ResponseResult>(getShardIteratorParam, requestobs);

            return(results);
        }
示例#10
0
        public ResponseResult CreateTransferTask(string streamName, AddTransferTasksRequest addTransferTasksRequest)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.POST.ToString()
            };

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

            requestobs.ResourcePath = resourcePath;
            var results = this.Request <ResponseResult>(addTransferTasksRequest, requestobs);

            return(results);
        }
示例#11
0
        public StreamTransferTaskDetailResult GetStreamTransferTaskDetail(string streamName, string transferTaskName)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.GET.ToString()
            };

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

            requestobs.ResourcePath = resourcePath;
            var results = this.Request <StreamTransferTaskDetailResult>(null, requestobs);

            return(results);
        }
示例#12
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);
        }
示例#13
0
        private async Task <PutRecordsResult> InnerUploadFile(PutRecordsRequest putRecordsParam)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();

            OBS.Runtime.Internal.IRequest requestobs = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.POST.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new RecordResource(null))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            var results = await Request <PutRecordsResult>(putRecordsParam, requestobs);

            return(results);
        }
示例#14
0
        public GetMetricResult GetPartitionMetricInfo(string streamName, string partitionId, GetPartitionMetricRequest metricRequest)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.GET.ToString()
            };

            var resourcePath = ResourcePathBuilder.Standard()
                               .WithProjectId(_disConfig.GetProjectId())
                               .WithResource(new StreamResource(null, streamName))
                               .WithResource(new PartitionResource(null, partitionId))
                               .WithResource(new MetricResource(null))
                               .Build();

            requestobs.ResourcePath = resourcePath;
            var results = this.Request <GetMetricResult>(metricRequest, requestobs);

            return(results);
        }
示例#15
0
        /// <summary>
        /// 下载
        /// </summary>
        /// <param name="getRecordsParam"></param>
        /// <returns></returns>
        public GetRecordsResult GetRecords(GetRecordsRequest getRecordsParam)
        {
            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();
            IRequest             requestobs           = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.GET.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new RecordResource(null))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            GetRecordsResult result = null;

            result = Request <GetRecordsResult>(getRecordsParam, requestobs);

            result = DecorateRecords(result);
            return(result);
        }
示例#16
0
        protected PutRecordsResult InnerPutRecords(PutRecordsRequest putRecordsParam)
        {
            // Decorate PutRecordsRequest if needed
            putRecordsParam = DecorateRecords(putRecordsParam);

            ObsWebServiceRequest obsWebServiceRequest = new DISWebServiceRequest();

            OBS.Runtime.Internal.IRequest requestobs = new DISDefaultRequest(obsWebServiceRequest, Constants.SERVICENAME)
            {
                HttpMethod = HttpMethodName.POST.ToString()
            };

            string resourcePath = ResourcePathBuilder.Standard()
                                  .WithProjectId(_disConfig.GetProjectId())
                                  .WithResource(new RecordResource(null))
                                  .Build();

            requestobs.ResourcePath = resourcePath;
            var results = Request <PutRecordsResult>(putRecordsParam, requestobs);

            return(results);
        }