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