是否有可能2个azure函数可以由一个eventhub触发?一个 azure 函数将其数据写入数据库 1,另一个 azure 函数将其数据写入数据库 2
[FunctionName("EventToDB1")]
public async System.Threading.Tasks.Task Run([EventHubTrigger("eventhub", Connection = "Debezium")]
EventData[] events, ILogger log)
{
{
[FunctionName("EventToDB2")]
public async System.Threading.Tasks.Task Run([EventHubTrigger("eventhub", Connection = "Debezium")]
EventData[] events, ILogger log)
{
{
回答一个 eventhub 触发 2 个 Azure 函数的可能性
最佳答案
是的,通过使用不同的 consumer groups 是可能的。因为您指定了与事件中心的相同连接,即“Debezium”,所以我假设您希望两个函数处理相同的消息。你必须create a new consumer group并使用 EventHubTrigger attribute 的 ConsumerGroup
属性指定名称。 (默认消费者组是$Default
):
public class EventToDB1
{
[FunctionName("EventToDB1")]
public async System.Threading.Tasks.Task Run(
[EventHubTrigger("eventhub",
Connection = "Debezium",
ConsumerGroup = "CG1")]
EventData[] events, ILogger log)
{
}
}
public class EventToDB2
{
[FunctionName("EventToDB2")]
public async System.Threading.Tasks.Task Run(
[EventHubTrigger("eventhub",
Connection = "Debezium",
ConsumerGroup = "CG2")]
EventData[] events, ILogger log)
{
}
}
每个使用者组从事件中心接收相同的消息。
关于c# - 一个 eventhub 是否可以触发 2 个 azure 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74346919/