你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 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 文件中的设置将应用于函数应用实例中的所有函数。 有关函数应用配置设置的详细信息,请参阅 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 消息队列连接字符串的应用设置。
port 0 (如果使用 connectionString,则忽略)获取或设置使用的端口。 默认值为 0,它指向 rabbitmq 客户端的默认端口设置:5672。