Azure Functions 會透過觸發程式和系結與 RabbitMQ 整合。
注意
RabbitMQ 系結只有在彈性進階和專用 (App Service) 方案上才完全支援。 尚未支援彈性取用 和 取用 方案。
Azure Functions v1.x 運行時間不支援 RabbitMQ 系結。
Azure Functions RabbitMQ 擴充功能可讓您使用 RabbitMQ API 搭配 Functions 來傳送和接收訊息。
| 動作 | 類型 |
|---|---|
| 當 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 Functionshost.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。 |