gpt4 book ai didi

azure - 基于Message属性触发WebJob方法

转载 作者:行者123 更新时间:2023-12-03 05:55:33 26 4
gpt4 key购买 nike

我有一个 Azure WebJobs 项目,它处理由网站操作触发的许多耗时任务。效果很好。

但是从消息到方法调用的映射使用了魔术字符串:

public class SomeClass
{
public async Task ProcessMessage(
[ QueueTrigger( "%" + nameof( ContainerQueueConstants.FilteredVoterFiles ) + "%" ) ] AgencyOutreachMessage
msg,
TextWriter azureLogWriter
)
{
PhaseNames.SetNames( "Exporting Data", "Job Completed" );

await ExecuteFromMessage( msg, azureLogWriter, Launch );
}
}

public class ContainerQueueConstants
{
public const string ImportFile = "import-file";
public const string VoterTraits = "voter-traits";
public const string Voter = "voter";
public const string FilteredVoterFiles = "filtered-voter-files";
}

我想避免使用硬编码字符串作为队列名称。理想情况下,我希望能够根据消息中包含的属性值将消息路由到特定方法。

但我不确定这是否可能,至少在 1.1.x 版本的 WebJobs SDK 中是这样。

感谢您的建议或建议。

最佳答案

我建议使用N个CloudQueue实例来监控N个不同的存储队列。由于您是在 WebJob 中执行此操作,因此您可能会将其作为连续的 WebJob 执行,并且必须自己对每个队列执行轮询。您还必须负责删除成功处理的消息。

QueueTriggerAttribute 具有对死信的内置支持。如果您不使用 QueueTriggerAttribute,我不相信有自动死信支持。

关于azure - 基于Message属性触发WebJob方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com