Compartir a través de

适用于 Azure Functions 的 RabbitMQ 绑定概述

Azure Functions 通过触发器和绑定RabbitMQ 集成。

注释

RabbitMQ 绑定仅在弹性高级版和专用(App 服务)计划中完全受支持 尚不支持弹性消耗消耗 计划。

Azure Functions v1.x 运行时不支持 RabbitMQ 绑定。

借助 Azure Functions RabbitMQ 扩展,你可以通过 Functions 使用 RabbitMQ API 来发送和接收消息。

行动 类型
当 RabbitMQ 消息进入队列时运行函数 触发器
发送 RabbitMQ 消息 输出绑定

先决条件

在使用 RabbitMQ 扩展之前,必须先设置 RabbitMQ 终结点。 若要详细了解 RabbitMQ,请参阅入门指南页面

安装扩展

你安装的扩展 NuGet 包取决于你在函数应用中使用的 C# 模式:

函数在独立的 C# 工作进程中执行。 若要了解详细信息,请参阅有关在独立工作进程中运行 C# Azure Functions 的指南

通过安装此 NuGet 包将该扩展添加到你的项目。

安装捆绑包

若要能够在应用中使用此绑定扩展,请确保项目的根目录中 host.json 文件包含以下 extensionBundle 引用:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

在此示例中,version[4.0.0, 5.0.0)值指示 Functions 主机使用至少4.0.0小于但小于5.0.0的捆绑包版本,其中包括所有可能的 4.x 版本。 此表示法有效地在 v4.x 扩展捆绑包的最新可用次要版本上维护应用。

如果可能,应使用最新的扩展捆绑包主版本,并允许运行时自动维护最新的次要版本。 可以在 扩展捆绑包发布页上查看最新捆绑包的内容。

如果应用要求使用以前的扩展版本,则可能需要改为指定以前的捆绑包版本。 可以查看 捆绑包版本 ,找到包含此扩展版本的捆绑包,该版本可供应用使用。 有关详细信息,请参阅 Azure Functions 扩展捆绑包。 结束区域

host.json 设置

本部分介绍版本 2.x 及更高版本中可用于此绑定的配置设置。 host.json 文件中的设置将应用于函数应用实例中的所有函数。 下面的示例 host.json 文件仅包含此绑定的 2.x 版及更高版本设置。 若要详细了解版本 2.x 及更高版本中的函数应用程序配置设置,请参阅 Azure Functions 的 host.json 参考

{
    "version": "2.0",
    "extensions": {
        "rabbitMQ": {
            "prefetchCount": 100,
            "queueName": "queue",
            "connectionString": "%<MyConnectionAppSetting>%",
            "port": 10
        }
    }
}
资产 违约 Description
prefetchCount 30 获取或设置消息接收方可以同时请求并缓存的消息数。
queueName n/a 要从中接收消息的队列的名称。
connectionString n/a RabbitMQ 消息队列连接字符串。 连接字符串在此处直接指定,而不是通过应用设置指定。
移植 0 (如果使用 connectionString,则忽略)获取或设置使用的端口。 默认值为 0,它指向 rabbitmq 客户端的默认端口设置:5672。