This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.IO; | |
using System.Threading.Tasks; | |
using Microsoft.AspNetCore.Mvc; | |
using Microsoft.Azure.WebJobs; | |
using Microsoft.Azure.WebJobs.Extensions.Http; | |
using Microsoft.AspNetCore.Http; | |
using Microsoft.Extensions.Logging; | |
using Newtonsoft.Json; | |
using Confluent.Kafka; | |
namespace Zohan.KafkaDemo | |
{ | |
public class SendEvent | |
{ | |
private readonly IKafkaProducer _producer; | |
public SendEvent(IKafkaProducer producer) | |
{ | |
// Save an instance of the Kafka producer | |
_producer = producer; | |
} | |
[FunctionName("sendevent")] | |
public async Task<IActionResult> Run( | |
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, | |
ILogger log) | |
{ | |
log.LogInformation("Send event function triggered"); | |
// Retrieve the topic name | |
var topicName = Environment.GetEnvironmentVariable("EventHubName"); | |
// Read the message body from the incoming request | |
var requestBody = await new StreamReader(req.Body).ReadToEndAsync(); | |
// Send the event to the topic | |
await _producer.SendEvent(topicName, // topic name | |
null, // key | |
requestBody); // value | |
return (ActionResult)new OkObjectResult($"Ok"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment