| title | Azure RabbitMQ bindings for Azure Functions |
|---|---|
| description | Learn to send Azure RabbitMQ triggers and bindings in Azure Functions. |
| ms.topic | reference |
| ms.date | 08/20/2025 |
| ms.custom | devx-track-extended-java, devx-track-js, devx-track-python |
| zone_pivot_groups | programming-languages-set-functions-lang-workers |
Azure Functions integrates with RabbitMQ via triggers and bindings.
[!INCLUDE functions-rabbitmq-plans-support-note]
The Azure Functions RabbitMQ extension allows you to send and receive messages using the RabbitMQ API with Functions.
| Action | Type |
|---|---|
| Run a function when a RabbitMQ message comes through the queue | Trigger |
| Send RabbitMQ messages | Output binding |
Before working with the RabbitMQ extension, you must set up your RabbitMQ endpoint. To learn more about RabbitMQ, see the getting started page.
::: zone pivot="programming-language-csharp"
The extension NuGet package you install depends on the C# mode you're using in your function app:
Functions execute in an isolated C# worker process. To learn more, see Guide for running C# Azure Functions in an isolated worker process.
Add the extension to your project by installing this NuGet package.
[!INCLUDE functions-in-process-model-retirement-note]
Functions execute in the same process as the Functions host. To learn more, see Develop C# class library functions using Azure Functions.
Add the extension to your project by installing this NuGet package.
::: zone-end
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-java,programming-language-powershell"
[!INCLUDE functions-install-extension-bundle]
::: zone-end
[!INCLUDE functions-host-json-section-intro]
{
"version": "2.0",
"extensions": {
"rabbitMQ": {
"prefetchCount": 100,
"queueName": "queue",
"connectionString": "%<MyConnectionAppSetting>%",
"port": 10
}
}
}| Property | Default | Description |
|---|---|---|
prefetchCount |
30 | Gets or sets the number of messages that the message receiver can simultaneously request and is cached. |
queueName |
n/a | Name of the queue to receive messages from. |
connectionString |
n/a | The app setting that contains the RabbitMQ message queue connection string. |
port |
0 | (ignored if using connectionString) Gets or sets the Port used. Defaults to 0, which points to rabbitmq client's default port setting: 5672. |