public void TestDynamoDBStreamWithServiceURL() { var config = new AmazonDynamoDBStreamsConfig(); config.ServiceURL = "https://streams.dynamodb.us-east-1.amazonaws.com/"; using (var client = new AmazonDynamoDBStreamsClient(config)) { var response = client.ListStreams(); Assert.IsNotNull(response.Streams); } }
public AWSDynamoDBStream(BasicAWSCredentials basicAWSCredentials, RegionEndpoint regionEndpoint, string tableName, AWSDynamoDBIteratorType type) { this.TableName = tableName; this.AmazonDynamoDBStreamsClient = new AmazonDynamoDBStreamsClient(basicAWSCredentials, regionEndpoint); this.AWSDynamoDBIteratorType = type; var listStreams = AmazonDynamoDBStreamsClient.ListStreams(new ListStreamsRequest() { TableName = this.TableName }); this.StreamArn = listStreams.Streams.First().StreamArn; DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest() { StreamArn = this.StreamArn }; var describeStreamResponse = this.AmazonDynamoDBStreamsClient.DescribeStream(describeStreamRequest); var shards = describeStreamResponse.StreamDescription.Shards; GetShardIteratorRequest getShardIteratorRequest = null; if (this.AWSDynamoDBIteratorType == AWSDynamoDBIteratorType.TRIM_HORIZON) { getShardIteratorRequest = new GetShardIteratorRequest() { StreamArn = this.StreamArn, ShardIteratorType = ShardIteratorType.TRIM_HORIZON, ShardId = shards.First().ShardId, }; } if (this.AWSDynamoDBIteratorType == AWSDynamoDBIteratorType.LATEST) { getShardIteratorRequest = new GetShardIteratorRequest() { StreamArn = this.StreamArn, ShardIteratorType = ShardIteratorType.LATEST, ShardId = shards.Last().ShardId, //SequenceNumber = shards.First().SequenceNumberRange.StartingSequenceNumber }; } var shardIteratorResponse = this.AmazonDynamoDBStreamsClient.GetShardIterator(getShardIteratorRequest); this.LatestShardID = shardIteratorResponse.ShardIterator; }