Azure 事件中樞中的結構描述登錄
Azure 事件中樞中的結構描述登錄提供存放庫,以在結構描述驅動事件串流案例中使用和管理結構描述。
結構描述登錄元件
事件中樞命名空間可與事件中樞 (或 Kafka 主題) 一起裝載結構描述群組。 其會裝載結構描述登錄,且可以有多個結構描述群組。 儘管裝載在 Azure 事件中樞中,結構描述登錄也可以與所有 Azure 訊息服務和任何其他訊息或事件訊息代理程式通用使用。 這些結構描述群組中的每一個都是一組結構描述的個別安全存放庫。 群組可以與特定的應用程式或組織單位對齊。
結構描述群組
結構描述群組是以您商務準則為基礎的類似結構描述邏輯群組。 結構描述群組可以保存多個版本的結構描述。 結構描述群組上的相容性強制設定有助於確保較新的結構描述版本回溯相容。
群組機制所施加的安全性界限有助於確保在多個合作夥伴之間共用命名空間的情況下,不會不慎透過中繼資料洩漏營業秘密。 其也可讓應用程式擁有者管理與其他共用相同命名空間的應用程式無關的結構描述。
結構描述
結構描述會定義生產者和消費者之間的合約。 在事件中樞結構描述登錄中定義的結構描述可協助管理事件資料以外的合約,因而移除承載額外負荷。 結構描述具有名稱、類型 (例如:記錄、陣列等等)、相容性模式 (無、轉接、回溯、完整) 和序列化類型 (目前只有 Avro)。 您可以建立多個版本的結構描述,並擷取及使用特定版本的結構描述。
結構描述格式
結構描述格式可用來判斷結構描述的結構和定義方式,每個格式都會概述特定指導方針和語法,以定義將用於事件串流的事件結構。
Avro 結構描述
Avro 是常用的資料序列化系統,使用精簡的二進位格式並提供結構描述演進功能。
若要深入了解如何搭配事件中樞結構描述登錄使用 Avro 結構描述格式,請參閱:
JSON 結構描述
JSON 結構描述是定義事件結構和資料類型的標準化方式。 JSON 結構描述可讓您在事件串流中自信且可靠的使用 JSON 資料格式。
若要深入了解如何搭配事件中樞結構描述登錄使用 JSON 結構描述格式,請參閱:
結構描述演進
結構描述需要隨著生產者和消費者的商務需求而演進。 Azure 結構描述登錄藉由在結構描述群組層級引進相容性模式,來支援結構描述演進。 建立結構描述群組時,您可以指定結構描述的相容性模式,您會在結構描述群組中包含這些結構描述。 當您更新結構描述時,變更應該符合指派的相容性模式,然後只會建立新版結構描述。
注意
只有 Avro 結構描述格式才支援結構描述演進。
適用於事件中樞的 Azure 結構描述登錄支援下列相容性模式。
回溯相容性
回溯相容性模式可讓消費者程式碼使用新版結構描述,但其可以處理具有舊版結構描述的訊息。 當您在結構描述群組中使用回溯相容性模式時,其允許在結構描述上進行下列變更。
- 刪除欄位。
- 新增選擇性欄位。
往後相容性
往後相容性可讓消費者程式碼使用舊版結構描述,但其可以讀取具有新結構描述的訊息。 往後相容性模式允許在結構描述上進行下列變更。
- 新增欄位
- 刪除選擇性欄位
沒有相容性
使用 None
相容性模式時,若您更新結構描述時,結構描述登錄不會進行任何相容性檢查。
用戶端 SDK
您可以使用下列其中一個程式庫,包含 Avro 序列化程式,然後可以將此序列化程式用來序列化及還原序列化承載,其中包含結構描述登錄結構描述識別碼和 Avro 編碼資料。
- .NET - Microsoft.Azure.Data.SchemaRegistry.ApacheAvro
- Java - azure-data-schemaregistry-avro
- Python - azure-schemaregistry-avroserializer
- JavaScript - @azure/schema-registry-avro
- Apache Kafka - 執行 Kafka 整合式 Apache Avro 序列化程式,以及 Azure 結構描述登錄所支援的還原序列化程式。 JAVA 用戶端的 Apache Kafka 用戶端序列化程式適用於 Azure 結構描述登錄,可用於任何 Apache Kafka 案例,以及搭配任何以 Apache Kafka® 為基礎的部署或雲端服務。
- Azure CLI - 如需使用 CLI 將結構描述新增至結構描述群組的範例,請參閱使用 CLI 將結構描述新增至結構描述群組。
- PowerShell - 如需使用 PowerShell 將結構描述新增至結構描述群組的範例,請參閱使用 PowerShell 將結構描述新增至結構描述群組。
限制
如需事件中樞的限制 (例如:命名空間中的結構描述群組數目),請參閱事件中樞配額和限制。
Azure 角色型存取控制
若要以程式設計方式存取結構描述登錄,請遵循下列步驟:
- 在 Microsoft Entra ID 中註冊應用程式
- 將應用程式的安全性主體新增至命名空間層級的下列其中一個 Azure 角色型存取控制 (Azure RBAC) 角色。
角色 | 描述 |
---|---|
負責人 | 讀取、寫入及刪除結構描述登錄群組和結構描述。 |
參與者 | 讀取、寫入及刪除結構描述登錄群組和結構描述。 |
結構描述登錄讀者 | 讀取並列出結構描述登錄群組和結構描述。 |
結構描述登錄參與者 | 讀取、寫入及刪除結構描述登錄群組和結構描述。 |
如需使用 Azure 入口網站來建立及註冊應用程式的指示,請參閱使用 Microsoft Entra ID 註冊應用程式。 記下用戶端識別碼 (應用程式識別碼)、租用戶識別碼,以及要在程式碼中使用的祕密。
下一步
- 若要了解如何使用 Azure 入口網站建立結構描述登錄,請參閱使用 Azure 入口網站建立事件中樞結構描述登錄。
- 請參閱下列結構描述登錄 Avro 用戶端程式庫範例。