public DescribeStreamResponse GetStreamResponse(string streamName = null)
        {
            if (string.IsNullOrEmpty(streamName) && string.IsNullOrEmpty(_streamName))
            {
                throw new Exception("Please specify a stream name to get the stream response.");
            }

            var request = new DescribeStreamRequest()
            {
                StreamName = streamName ?? _streamName
            };

            return(AsyncHelper.RunSync(() => _client.DescribeStreamAsync(request)));
        }
Exemple #2
0
        public async Task <DescribeStreamResponse> DescribeStream()
        {
            var describeStreamRequest = new DescribeStreamRequest
            {
                StreamName = _StreamName
            };

            return(await _AmazonKinesisClient.DescribeStreamAsync(describeStreamRequest));
        }
Exemple #3
0
        private async Task ComputeShards()
        {
            var streamConfig = await _stream.DescribeStreamAsync(new DescribeStreamRequest
            {
                StreamName = StreamName
            });

            _shards = streamConfig.StreamDescription.Shards
                      .Where(shard => string.IsNullOrEmpty(shard.SequenceNumberRange.EndingSequenceNumber))
                      .Select(shard => shard.HashKeyRange.StartingHashKey).ToList();
        }
Exemple #4
0
        static DescribeStreamResponse DescribeStream(IAmazonKinesis kinesisClient, string streamName)
        {
            var request = new DescribeStreamRequest {
                StreamName = streamName
            };

            try
            {
                var describeStreamTask = kinesisClient.DescribeStreamAsync(request);
                return(describeStreamTask.GetAwaiter().GetResult());
            }
            catch (ResourceNotFoundException)
            {
                return(null);
            }
        }
Exemple #5
0
        public void Start()
        {
            DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest
            {
                Limit      = 10,
                StreamName = _streamName
            };
            var streamDescription = _client.DescribeStreamAsync(describeStreamRequest).Result;

            var shards = streamDescription.StreamDescription.Shards;

            _logger.LogInformation("Found {0} shards for stream {1}", shards.Count, _streamName);

            _shardReaders.Clear();

            foreach (Shard shard in shards)
            {
                StartReadingShart(shard);
            }
        }
Exemple #6
0
 private Amazon.Kinesis.Model.DescribeStreamResponse CallAWSServiceOperation(IAmazonKinesis client, Amazon.Kinesis.Model.DescribeStreamRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Kinesis", "DescribeStream");
     try
     {
         #if DESKTOP
         return(client.DescribeStream(request));
         #elif CORECLR
         return(client.DescribeStreamAsync(request).GetAwaiter().GetResult());
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }