private void BuildConfluentClient() { Boolean usernameSpecified = false; Boolean passwordSpecified = false; if (!string.IsNullOrEmpty(_authUsername) && _authUsername.ToLowerInvariant() != "[username]") { this.textBoxUsername.Text = _authUsername; usernameSpecified = true; } if (!string.IsNullOrEmpty(_authPassword) && _authPassword.ToLowerInvariant() != "[password]") { this.textBoxPassword.Text = _authPassword; passwordSpecified = true; } if (usernameSpecified && passwordSpecified) { _confluentClient = new ConfluentClient(new ConfluentClientSettings(_baseUrl, _requestTimeout, new BasicConfluentClientAuthentication(_authUsername, _authPassword))); } else { _confluentClient = new ConfluentClient(new ConfluentClientSettings(_baseUrl, _requestTimeout, null)); } }
/// <summary> /// This assumes that a topic has only one type. Jay Kreps recommends separating different event types /// into different topics at http://www.confluent.io/blog/stream-data-platform-2/. Besides, heterogeneous-event /// topics aren't directly supported by the driver. /// </summary> /// <returns></returns> private static async Task <ConfluentResponse <List <AvroMessage <TK, TV> > > > ConsumeOnceAsync( IConfluentClient confluentClient, ConsumerInstance consumerInstance, string topic) { return(await confluentClient.ConsumeAsAvroAsync <TK, TV>(consumerInstance, topic)); }
public static ConsumerInstance ConsumerInstance(IConfluentClient client, string instanceId, string consumerGroupName) { var consumerInstanceTask = Setup.CreateConsumerInstance(client, instanceId, consumerGroupName).Result; if (!consumerInstanceTask.IsSuccess()) { throw new ApplicationException("Error " + consumerInstanceTask.Error.ErrorCode + ": " + consumerInstanceTask.Error.Message); } var consumerInstance = consumerInstanceTask.Payload; return consumerInstance; }
public static async Task<ConfluentResponse<ConsumerInstance>> CreateConsumerInstance(IConfluentClient client, string instanceId, string consumerGroupName) { var request = new CreateConsumerRequest { AutoCommitEnabled = true, InstanceId = instanceId, MessageFormat = MessageFormat.Avro }; return await client.CreateConsumerAsync(consumerGroupName, request); }
public static ConsumerInstance ConsumerInstance(IConfluentClient client, string instanceId, string consumerGroupName) { var consumerInstanceTask = Setup.CreateConsumerInstance(client, instanceId, consumerGroupName).Result; if (!consumerInstanceTask.IsSuccess()) { throw new ApplicationException("Error " + consumerInstanceTask.Error.ErrorCode + ": " + consumerInstanceTask.Error.Message); } var consumerInstance = consumerInstanceTask.Payload; return(consumerInstance); }
public TestApp() { InitializeComponent(); _confluentClient = new ConfluentClient(new ConfluentClientSettings(_baseUrl, _requestTimeout)); }
public static async Task <ConfluentResponse <ConsumerInstance> > CreateConsumerInstance(IConfluentClient client, string instanceId, string consumerGroupName) { var request = new CreateConsumerRequest { AutoCommitEnabled = true, InstanceId = instanceId, MessageFormat = MessageFormat.Avro }; return(await client.CreateConsumerAsync(consumerGroupName, request)); }
//private readonly OffsetCommitter _committer; public RxConsumer(IConfluentClient client, ConsumerInstance consumerInstance, String topic) { _client = client; _consumerInstance = consumerInstance; _topic = topic; }