適用於 Azure Functions 的 Azure 事件方格繫結
此參考會示範如何使用 Azure Functions 觸發程式和系結連線到 Azure 事件方格。
事件方格是一項 Azure 服務,會傳送 HTTP 要求,通知您發行者中發生的事件。 發行者是源自事件的服務或資源。 例如,Azure Blob 記憶體帳戶是發行者,而 Blob 上傳或刪除是事件。 某些 Azure 服務內建支援將事件發佈至事件方格。
事件處理程式會接收和處理事件。 Azure Functions 是數 個 Azure 服務之一,內建支持處理事件方格事件。 函式會提供事件方格觸發程式,其會在從事件方格接收事件時叫用函式。 類似的輸出系結可用來將事件從函式傳送至 事件方格自定義主題。
您也可以使用 HTTP 觸發程式來處理事件方格事件。 若要深入瞭解,請參閱 接收 HTTP 端點的事件。 建議您透過 HTTP 觸發程式使用事件方格觸發程式。
動作 | 類型 |
---|---|
分派 Event Grid 事件時執行函式 | 觸發程序 |
傳送事件方格事件 | 輸出系結 |
控制傳回的 HTTP 狀態代碼 | HTTP 端點 |
安裝擴充功能
您安裝的延伸模組 NuGet 套件取決於您在函式應用程式中使用的 C# 模式:
函式會在隔離的 C# 背景工作進程中執行。 若要深入瞭解,請參閱 在隔離背景工作程序中執行 C# Azure Functions 的指南。
擴充功能的功能會根據擴充功能版本而有所不同:
藉由安裝 NuGet 套件 3.x 版,將擴充功能新增至您的專案。
安裝套件組合
事件方格延伸模組是延伸模組套件組合的一部分,其指定於您的host.json項目檔中。 您可能需要修改此套件組合來變更事件方格系結的版本,或尚未安裝套件組合。 若要深入瞭解,請參閱 延伸模組套件組合。
您可以從擴充功能套件組合 v3 新增此版本的延伸模組,方法是在檔案中 host.json
新增或取代下列組態:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
若要深入瞭解,請參閱 更新延伸模組。
繫結型別
.NET 支援的系結類型取決於延伸模組版本和 C# 執行模式,這可以是下列其中一項:
已編譯 C# 函式的隔離背景工作進程類別庫會在與運行時間隔離的進程中執行。
選擇版本以查看模式和版本的系結類型詳細數據。
隔離的背景工作進程會根據下表支持參數類型。 支援從 Azure.Messaging 系結至 Stream
、 和 型別,目前為預覽狀態。
事件方格觸發程式
當您想要讓函式處理單一事件時,Event Grid 觸發程式可以繫結至下列類型:
類型 | 描述 |
---|---|
JSON 可序列化型別 | 函式會嘗試將事件的 JSON 數據還原串行化為純舊 CLR 物件 (POCO) 類型。 |
string |
事件做為字串。 |
BinaryData1 | 事件訊息的位元組。 |
CloudEvent1 | 事件物件。 當事件方格設定為使用 CloudEvents 架構傳遞時,請使用 。 |
EventGridEvent1 | 事件物件。 當事件方格設定為使用事件方格架構傳遞時,請使用 。 |
當您想要讓函式處理一批事件時,Event Grid 觸發程式可以繫結至下列類型:
類型 | 描述 |
---|---|
CloudEvent[] 1、EventGridEvent[] 1、string[] ,BinaryData[] 1 |
來自批次的事件陣列。 每個專案都代表一個事件。 |
1 若要使用這些類型,您必須參考 Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 或更新版本 ,以及 SDK 類型系結的常見相依性。
事件方格輸出系結
當您想要讓函式撰寫單一事件時,Event Grid 輸出系結可以繫結至下列類型:
類型 | 描述 |
---|---|
string |
事件做為字串。 |
byte[] |
事件訊息的位元組。 |
JSON 可序列化型別 | 物件,表示 JSON 事件。 函式會嘗試將一般舊的CLR物件 (POCO) 類型串行化為 JSON 數據。 |
當您想要函式寫入多個事件時,Event Grid 輸出系結可以繫結至下列類型:
類型 | 描述 |
---|---|
T[] 其中 T 是其中一個單一事件類型 |
包含多個事件的陣列。 每個專案都代表一個事件。 |
針對其他輸出案例,請直接從 Azure.Messaging.EventGrid 建立和使用類型。
host.json 設定
事件方格觸發程式會使用 Webhook HTTP 要求,其可以使用與 HTTP 觸發程式相同的host.json設定來設定。
下一步
- 如果您有問題,請在這裡提交問題給小組
- 事件方格觸發程式
- 事件方格輸出系結
- 分派 Event Grid 事件時執行函式
- 分派事件方格事件