Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure函数中的命令触发器?_C#_Azure_Function_Triggers_Imperative - Fatal编程技术网

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的配置值,如下所示:
不过,这感觉有点不太理想,我更愿意确定如何实现第一种方法,以便在发布过程中放弃额外的Azure Powershell步骤


提前谢谢

您是否发现过更多信息?没有。目前不可能。[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%