Azure Functions 的 RabbitMQ 系結概觀

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。