如何在运行时设置Azure WebJob队列名称?

2024-03-03

我正在开发一个 Azure WebJobs 可执行文件,我想将其与多个 Azure 网站一起使用。每个网站都需要自己的 Azure 存储队列。

我看到的问题是ProcessQueueMessage要求将队列名称静态定义为第一个参数的属性inputText。我宁愿让队列名称成为正在运行的 Azure 网站实例的配置属性,并让作业可执行文件在启动时在运行时读取该名称。

有什么办法可以做到这一点吗?


现在可以做到这一点。只需创建一个INameResolver允许您解析 %(百分号)符号包围的任何字符串。例如,如果这是您指定了队列名称的函数:

public static void WriteLog([QueueTrigger("%logqueue%")] string logMessage)
{
    Console.WriteLine(logMessage);
}

注意字符串周围有 %(百分号)符号logqueue。这意味着作业系统将尝试使用INameResolver您可以创建它,然后将其注册到您的工作中。

以下是解析器的示例,它仅采用百分号中指定的字符串并在配置文件的 AppSettings 中查找它:

public class QueueNameResolver : INameResolver
{
    public string Resolve(string name)
    {
        return ConfigurationManager.AppSettings[name].ToString();
    }
}

然后在您的 Program.cs 文件中,您只需将其连接起来:

var host = new JobHost(new JobHostConfiguration
{
  NameResolver = new QueueNameResolver()
});
host.RunAndBlock();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时设置Azure WebJob队列名称? 的相关文章

  • Azure Webjobs 的命令行参数

    我正在将之前计划并通过 Quartz Net 运行的几个作业迁移到 Azure Webjobs 使用 Quartz Net 允许我在同一个项目中拥有所有 非常紧凑 的作业类 作为初始化调度程序的控制台程序入口点 现在我想保留该结构 而不必为
  • 如何使用 Octopus 部署 azure webjob

    如何使用八达通部署来部署azure webjob 对于我来说 octopus 说它已部署到 azure 但无法在网站下看到我的 webjob 谁能帮助如何实现这一目标 有一个关于如何从 octopus 部署 Web 作业的文档Azure 网
  • Azure 存储队列和多个 WebJobs 实例:QueueTrigger 是否会在触发时设置消息租用时间?

    场景 生产者发送一条消息到Storage Queue 一个WebJobs在QueueTrigger上处理该消息 每条消息只能处理一次 可以有多个WebJob实例 我一直在谷歌搜索 根据我读到的内容 我需要编写处理消息的函数 使其具有幂等性
  • 异步启动长时间运行的进程

    在我们的 Web 应用程序中 用户可以进行需要更新大量数据库表的更改 所有这些的加载时间最长可达 30 秒 我不希望用户在导航到另一个页面之前等待该操作完成 我已将长时间运行的代码放在自己的页面上 例如 updateinfo aspx 并尝
  • 如何使用 vNext 在 VSO 中通过 CI 部署 Web 作业

    我正在尝试部署预定的webjob通过 CI 和vNext任务在VSO 我按照以下教程中的步骤部署了webjob与 Web 应用程序一起使用 使用 Web 项目启用自动部署 https azure microsoft com en us do
  • 如何从 Azure 网站计划作业连接远程 SFTP

    我有一个控制台应用程序 它将被安排为 AZURE 网站中的作业 我想从该控制台应用程序连接远程 SFTP 并获取所有文件并将它们保存在 AZURE 网站内的我的文件夹中 此外 如果可能的话 在传输后将它们从 SFTP 中删除 首先 在这种情
  • Azure webjob 功能有单独的计划吗?

    是否可以为 Azure Web 作业中的各个非触发功能设置单独的计划 我之所以这么问 是因为我有六个单独的任务 我想在一天中的不同时间以不同的时间间隔运行 并且不想为每个任务创建单独的项目 是的 您可以使用TimerTriggerAttri
  • 新旧 WebJob 版本均在部署后运行

    我有一个通过 Kudu API 部署的连续 WebJob api continuouswebjobs job name 如概述的here https github com projectkudu kudu wiki WebJobs API
  • 可配置的计时器触发器 - Azure Web 作业

    我正在构建一项以固定间隔 例如 1 分钟 触发的工作 我已成功使用触发的网络作业 并在函数中硬编码了时间跨度 public void foo TimerTrigger 00 01 00 TimerInfo timer 现在 如果我想将触发时
  • 如何解决Azure WebJob中无法获取单例锁的问题?

    当我在本地运行应用程序时 我无法获取单例锁问题 我该如何解决 下面是我的代码 static void Main JobHostConfiguration config new enter code here JobHostConfigura
  • Azure Functions 是否适合长时间运行的任务?

    A TCP 主机服务器位于本地 现在 我需要从 Azure 环境连接主机服务器 连接建立后 主机服务器将不断发送消息 收到的消息将转发到Azure服务总线队列 我得到了以下架构 简化 该架构提出了一个功能应用程序 它将用于与本地服务器连接
  • Azure Web 作业 - 如何连接到 Azure MS SQL 数据库?

    我有一个发布到 Azure 的 MVC 网站 它使用 Azure SQL 数据库 现在我们需要运行计划任务来发送短信提醒 我的印象是 Azure Web Jobs 非常适合此任务 但在启动和运行它时遇到了一些问题 我已将控制台应用程序添加到
  • Azure Web 作业已停止/中止

    我有一个持续运行的天蓝色网络作业 但日志表明周末它的状态更改为 已中止 然后 已停止 虽然我周末没有使用该网站 但我不确定为什么会发生这种情况 因为队列中仍然有很多消息需要处理 什么会导致连续的网络作业停止或中止 它有超时时间吗 多个错误的
  • Microsoft.Web.WebJobs.Publish 在部署包中生成重复的程序集

    我有大量的 Azure WebJobs 它们都部署到单个 Azure 应用服务 以及同一 Azure 应用服务上的网站 每个WebJob都使用WebJobs SDK和Microsoft Web WebJobs Publish nuget包
  • ASP.NET Web 部署失败;项目中不存在 AddScheduledJob

    我有一个包含两个 WebJobs 的 ASP NET 项目 其中一个 WebJobs 可以正常发布 但第二个 WebJobs 无法发布 并且收到以下错误消息 项目中不存在目标 AddScheduledJob 两个 WebJobs 都设置为
  • 如何在最新的azure webjob 3.03中指定AzureWebJobsStorage

    我将旧的 azure webjob 代码更新为打包到 3 03 然后它就不起作用了 我设法修复了所有编译时错误 但在本地运行时 它会抛出以下错误 Microsoft Azure WebJobs Host Indexers FunctionI
  • Azure WebJobs - 我可以使用异步方法吗?

    我想知道Azure WebJobs SDK是否可以触发异步方法 目前我有一个如下所示的方法 class Program static void Main string args var host new JobHost host RunAn
  • 如何创建服务总线触发webjob?

    我检查doc https learn microsoft com en us azure app service webjobs sdk how to service bus trigger configuration version 3x
  • 如何从 Azure webjob 到 Azure webapp 进行通信?

    我正在运行 Azure Web 作业和 Azure Web 应用程序 该作业定期运行 并且 Web 应用程序需要作业的结果 我如何在那里得到结果 我尝试过使用 WCFnetNamedPipeBinding但由于 Azure webapps
  • azure webjob:读取 appSettings.json 并将配置注入 TimerTrigger

    我无法从 webjob 中的 appSettings json 文件读取配置值 webjob 使用以下 nuget 包 我的控制台应用程序 webjob 中有两个设置文件 应用程序设置 development json 应用程序设置 生产

随机推荐