C# Azure函数中的命令触发器?
我读过很多关于如何使用命令式输入和输出绑定的帖子——我明白了,非常酷 然而,我一直在努力寻找一种创建命令触发器的方法。我不确定在这一点上这是否可行 我想做的是:C# Azure函数中的命令触发器?,c#,azure,function,triggers,imperative,C#,Azure,Function,Triggers,Imperative,我读过很多关于如何使用命令式输入和输出绑定的帖子——我明白了,非常酷 然而,我一直在努力寻找一种创建命令触发器的方法。我不确定在这一点上这是否可行 我想做的是: 在实现IWebJobsStartup的my Startup.cs中,在运行时为Azure函数创建EventHubTrigger,以便动态指定ConsumerGroup属性,允许我在Azure部署插槽中运行时使用特定的ConsumerGroup,而不是在活动插槽中使用的ConsumerGroup。我不希望他们为事件而竞争,我的零停机部署
- 在实现IWebJobsStartup的my Startup.cs中,在运行时为Azure函数创建EventHubTrigger,以便动态指定ConsumerGroup属性,允许我在Azure部署插槽中运行时使用特定的ConsumerGroup,而不是在活动插槽中使用的ConsumerGroup。我不希望他们为事件而竞争,我的零停机部署策略依赖于此
- 或者类似的方法
- 在我的Azure DevOps发布过程中,确保我有一个粘性插槽应用程序设置,并将其设置为相应插槽中插槽与live的不同值
- 在我的触发器属性中,将插槽设置附加到用于ConsumerGroup的配置值,如下所示:
提前谢谢 您是否发现过更多信息?没有。目前不可能。[EventHubTrigger(“va数据连接器”,Connection=“EventHub.ConnectionString”,ConsumerGroup=“%EventHub.ConsumerGroup.Entity%-%WEBSITE\u SLOT\u NAME%”]EventData[]事件,活页夹,ILogger日志)----------------------------%WEBSITE\u SLOT\u NAME%是一个环境变量,可在Azure上运行的应用程序(web、api、函数)上使用。-------------在本地运行时,只需确保在local.settings.config中包含此变量的值。通过使用上述环境变量,我可以消除对粘性插槽设置的需要,并消除从发布过程中创建它的powershell。在我的环境中,我需要的不仅仅是一个环境变量,更具动态性的东西-无论如何,感谢您的回答:-)
[EventHubTrigger("my-rapids-event-hub", Connection = "EventHub.ConnectionString",
ConsumerGroup = "%EventHub.ConsumerGroup%-%SlotConfigExtension%")] EventData[] events,
[EventHub("my-river-eventhub", Connection = "EventHub.ConnectionString")] IAsyncCollector<string> outputEvents,
ILogger log)
%EventHub.ConsumerGroup%-%SlotConfigExtension%