Azure Functions 的 Azure IoT 中樞系結

這一組文章說明如何使用適用于 IoT 中樞的 Azure Functions 系結。 IoT 中樞支援是以 Azure 事件中樞系結為基礎。

重要

下列程式碼範例使用事件中樞 API,而指定的語法適用于 IoT 中樞函式。

動作 類型
回應傳送至 IoT 中樞事件資料流程的事件。 觸發程序
將事件寫入 IoT 事件串流 輸出系結

新增至您的函數應用程式

Functions 2.x 和更新版本

使用觸發程式和系結會要求您參考適當的封裝。 NuGet 套件適用于 .NET 類別庫,而擴充功能配套則用於所有其他應用程式類型。

語言 加入者 .。。 備註
C# 安裝 NuGet 套件3.x 版
C # 腳本、JAVA、JavaScript、Python、PowerShell 註冊[延伸]模組套件組合 建議搭配使用 [Azure Tools 擴充] 功能與 Visual Studio Code。
C # 腳本 (online-僅適用于 Azure 入口網站) 新增系結 若要更新現有的系結延伸模組,而不需要重新發佈函數應用程式,請參閱 [更新您的延伸]模組。

事件中樞延伸模組5.x 和更新版本

新版本的事件中樞系結延伸模組可作為 預覽 NuGet 套件。 此預覽版引進了使用身分 識別(而非秘密)連接的能力。 針對 .NET 應用程式,它也會變更您可以系結的類型,並以 EventHubs 中的 Microsoft.Azure.EventHubs 較新類型取代類型。

注意

預覽套件不包含在延伸模組套件組合中,必須手動安裝。 針對 .NET 應用程式,請加入封裝的參考。 如需其他所有應用程式類型,請參閱 [更新您的擴充]功能。

Functions 1.x

函式1.x 應用程式會自動 參考 Nuget.exe NuGet 套件2.x 版。

host.json 設定

host.json 檔案包含可控制事件中樞觸發程序行為的設定。 視 Azure Functions 版本而定,設定會有所不同。

Functions 2.x 和更新版本

{
    "version": "2.0",
    "extensions": {
        "eventHubs": {
            "batchCheckpointFrequency": 5,
            "eventProcessorOptions": {
                "maxBatchSize": 256,
                "prefetchCount": 512
            },
            "initialOffsetOptions": {
                "type": "fromStart",
                "enqueuedTimeUtc": ""
            }
        }
    }
}  
屬性 預設 描述
batchCheckpointFrequency 1 要在建立 EventHub 資料指標檢查點之前處理的事件批次數目。
eventProcessorOptions/maxBatchSize 10 每個接收迴圈接收到的事件計數上限。
eventProcessorOptions/prefetchCount 300 基礎 EventProcessorHost 所使用的預設預先擷取計數。 允許的最小值為 10。
initialOffsetOptions/類型1 fromStart 當儲存體中沒有檢查點時,在事件資料流中要開始處理的位置。 選項為 fromStartfromEndfromEnqueuedTimefromEnd 會處理在函數應用程式開始執行之後加入佇列的新事件。 適用於所有分割區。 如需詳細資訊,請參閱 EventProcessorOptions 文件
initialOffsetOptions/>enqueuedtimeutc1 N/A 在要開始處理的資料流中,指定事件的加入佇列時間。 當 initialOffsetOptions/type 設定為 fromEnqueuedTime 時,這是必要設定。 支援 DateTime.Parse() 所支援任何格式的時間,例如 2020-10-26T20:31Z。 為了清楚起見,您也應該指定時區。 若未指定時區,函式會假設執行函數應用程式電腦的當地時區,這在 Azure 上執行時是 UTC。 如需詳細資訊,請參閱 EventProcessorOptions 文件

1 支援 initialOffsetOptionsEventHubs v 4.2.0開始。

注意

有關 Azure Functions 2.x 和更高版本中 host.json 的參考,請參閱適用於 Azure Functions 的 host.json 參考

Functions 1.x

{
    "eventHub": {
      "maxBatchSize": 64,
      "prefetchCount": 256,
      "batchCheckpointFrequency": 1
    }
}
屬性 預設 描述
maxBatchSize 64 每個接收迴圈接收到的事件計數上限。
prefetchCount n/a 基礎 EventProcessorHost 將要使用的預設預先擷取。
batchCheckpointFrequency 1 要在建立 EventHub 資料指標檢查點之前處理的事件批次數目。

注意

有關 Azure Functions 1.x 中 host.json 的參考,請參閱適用於 Azure Functions 1.x 的 host.json 參考

下一步