共用方式為


自訂傳遞屬性

事件訂閱可讓您設定傳遞事件中包含的 HTTP 標頭。 這項功能可讓您設定目的地所需的自訂標頭。 建立事件訂閱時,最多可以設定 10 個標頭。 每個標頭值不應該大於 4,096 (4K) 個位元組。

您可以在傳遞至下列目的地的事件上設定自訂標頭:

  • Webhooks
  • Azure 服務匯流排主題和佇列
  • Azure 事件中樞
  • Azure Functions
  • Azure 轉送混合式連線

在 Azure 入口網站中建立事件訂閱時,您可以使用 [傳遞屬性] 索引標籤設定自訂 HTTP 標頭。 此頁面可讓您設定固定和動態標頭值。

設定靜態標頭值

若要設定標頭搭配固定值,請在對應的欄位中提供標頭的名稱及其值:

Delivery properties - static

若提供的是敏感性資料,您可能想要核取 [是祕密嗎?]。 Azure 入口網站上敏感性資料的可見度取決於使用者的 RBAC 權限。

設定動態標頭值

您可以根據傳入事件中的屬性設定標頭值。 使用 JsonPath 語法可代表傳入事件屬性值,做為傳出要求中的標頭值。 僅支援字串、數字和布林值的 JSON 值。 例如,若要使用事件資料中傳入事件屬性值 system,設定標頭名為 Channel 的值,請以下列方式設定您的事件訂閱:

Delivery properties - dynamic

使用 Azure CLI

使用 az eventgrid event-subscription create 命令建立訂閱時,請使用 --delivery-attribute-mapping 參數。 以下是範例:

az eventgrid event-subscription create -n es1 \
    --source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1
    --endpoint-type storagequeue \
    --endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/sa1/queueservices/default/queues/q1 \
    --enable-advanced-filtering-on-arrays true
    --delivery-attribute-mapping staticproperty1 static somestaticvalue2 true 
    --delivery-attribute-mapping staticproperty2 static somestaticvalue3 false 
    --delivery-attribute-mapping dynamicproperty1 dynamic data.key1

範例

本節提供一些使用傳遞屬性的範例。

設定 Authorization 標頭搭配持有人權杖 (非標準範例)

將值設定為 Authorization 標頭以透過您的 Webhook 處理常式來識別要求。 如果您未使用 Microsoft Entra ID 保護 Webhook 的安全,您可以設定 Authorization 標頭。

標頭名稱 標頭類型 標頭值
Authorization Static BEARER SlAV32hkKG...

傳出要求現在應該包含事件訂閱上設定的標頭:

POST /home.html HTTP/1.1
Host: acme.com

Authorization: BEARER SlAV32hkKG...

注意

若目的地是 Webhook,則定義授權標頭是合理的選項。 此標頭不應用於透過資源識別碼訂閱的函式、服務匯流排、事件中樞和混合式連線,因為在搭配事件方格使用時,這些目的地支援其自有的驗證結構描述。

服務匯流排範例

Azure 服務匯流排支援在傳送單一訊息時使用下列訊息屬性。

標頭名稱 標頭類型
MessageId 動態
PartitionKey 靜態或動態
SessionId 靜態或動態
CorrelationId 靜態或動態
Label 靜態或動態
ReplyTo 靜態或動態
ReplyToSessionId 靜態或動態
To 靜態或動態
ViaPartitionKey 靜態或動態

注意

  • MessageId 的預設值是「事件方格」事件的內部識別碼。 您可加以覆寫。 例如: data.field
  • 您只能設定 SessionIdMessageId

將訊息傳送至服務匯流排佇列或主題時,您也可以指定自訂屬性。 請勿使用 aeg- 前置詞,因為訊息標頭中的系統屬性已使用該前置詞。 如需訊息標頭屬性的清單,請參閱服務匯流排做為事件處理常式

事件中樞範例

如果您需要將事件發佈至事件中樞內的特定分割區,請在事件訂閱上設定 PartitionKey 屬性,以指定可識別目標事件中樞分割區的分割區索引鍵。

標頭名稱 標頭類型
PartitionKey 靜態或動態

將訊息傳送至事件中樞時,您也可以指定自訂屬性。 請勿使用 aeg- 前置詞做為屬性名稱,因為訊息標頭中的系統屬性已使用該前置詞。 如需訊息標頭屬性的清單,請參閱事件中樞做為事件處理常式

設定傳出事件到 Azure 儲存體佇列的存留時間

若目的地是 Azure 儲存體佇列,您只能設定傳出訊息傳遞至 Azure 儲存體佇列之後,傳出訊息的存留時間。 如果未提供時間,訊息的預設存留時間是 7 天。 您也可以將事件設定為永不過期。

Delivery properties - storage queue

下一步

如需事件傳遞的詳細資訊,請參閱下列文章: