Beispiel #1
0
        public static StreamDescriptionSummary DescribeDataStream(string streamName)
        {
            StreamDescriptionSummary summary = null;

            try
            {
                AmazonKinesisClient kinesisClient;

                using (kinesisClient = new AmazonKinesisClient(Models.MyAWSConfigs.KinesisRegion))
                {
                    DescribeStreamSummaryRequest streamSummaryRequest = new DescribeStreamSummaryRequest
                    {
                        StreamName = streamName
                    };

                    DescribeStreamSummaryResponse streamSummaryResponse = kinesisClient.DescribeStreamSummary(streamSummaryRequest);

                    if (streamSummaryResponse.HttpStatusCode == System.Net.HttpStatusCode.OK)
                    {
                        summary = streamSummaryResponse.StreamDescriptionSummary;
                    }
                    else
                    {
                        Console.WriteLine("Error Describe kinesis data stream");
                    }
                }
            }
            catch (AmazonKinesisException e)
            {
                Console.WriteLine("AmazonKinesisException: " + e);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e);
            }

            return(summary);
        }
Beispiel #2
0
        public static string CreateDataStream(string streamName)
        {
            string streamArn = "";

            try
            {
                List <string> streamlList = GetDataStreamList();

                if (streamlList != null)
                {
                    if (streamlList.FindAll(dataStreamName => dataStreamName == streamName).Count > 0)
                    {
                        streamArn = "contain";
                    }
                    else
                    {
                        AmazonKinesisClient kinesisClient;

                        using (kinesisClient = new AmazonKinesisClient(Models.MyAWSConfigs.KinesisRegion))
                        {
                            CreateStreamRequest createStreamRequest = new CreateStreamRequest()
                            {
                                StreamName = streamName,
                                ShardCount = 1,
                            };

                            CreateStreamResponse createStreamResponse = kinesisClient.CreateStream(createStreamRequest);

                            if (createStreamResponse.HttpStatusCode == System.Net.HttpStatusCode.OK)
                            {
                                StreamDescriptionSummary streamSummary = DescribeDataStream(streamName);
                                if (streamSummary != null)
                                {
                                    streamArn = streamSummary.StreamARN;

                                    while (streamSummary.StreamStatus != StreamStatus.ACTIVE ||
                                           streamSummary.StreamStatus == StreamStatus.CREATING)
                                    {
                                        Thread.Sleep(1 * 1000);
                                        streamSummary = DescribeDataStream(streamName);
                                        if (streamSummary == null)
                                        {
                                            streamArn = "";
                                            break;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                Console.WriteLine("Error creating kinesis data stream");
                            }
                        }
                    }
                }
            }
            catch (AmazonKinesisException e)
            {
                Console.WriteLine("AmazonKinesisException: " + e);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e);
            }

            return(streamArn);
        }