整合 Azure 事件中樞 與服務 連線 or

此頁面會顯示支持的驗證方法和用戶端,並顯示您可以使用Service 連線 or 將 Azure 事件中樞 連線到其他雲端服務的範例程式代碼。 您仍然可以在沒有使用 Service 連線 or 的情況下,以其他程式設計語言連線到事件中樞。 此頁面也會顯示您在建立服務連線時取得的預設環境變數名稱和值(或 Spring Boot 組態)。

支援的計算服務

服務 連線 or 可用來將下列計算服務連線至 Azure 事件中樞:

  • Azure App Service
  • Azure Functions
  • Azure 容器應用程式
  • Azure Spring Apps

支援的驗證類型和客戶端類型

下表顯示使用 Service 連線 or 將計算服務連線到 Azure 事件中樞 支援的用戶端類型和驗證方法組合。 「是」表示支持組合,而「否」則表示不支援。

用戶端類型 系統指派的受控識別 使用者指派的受控識別 秘密 / 連接字串 服務主體
.NET Yes .是 .是 Yes
Go Yes .是 .是 Yes
Java Yes .是 .是 Yes
Java - Spring Boot Yes .是 .是 Yes
Kafka - Spring Boot Yes .是 .是 Yes
Node.js Yes .是 .是 Yes
Python Yes .是 .是 Yes
Yes .是 .是 Yes

下表指出支持數據表中所有用戶端類型和驗證方法的組合。 所有用戶端類型都可以使用任何驗證方法,使用 Service 連線 or 連線到 Azure 事件中樞。

默認環境變數名稱或應用程式屬性

使用下列連線詳細數據,將計算服務連線到事件中樞。 針對下列每個範例,將佔位元文字 <Event-Hubs-namespace><access-key-name><access-key-value><client-ID><client-secret><tenant-id> 取代為您的事件中樞命名空間、共用存取密鑰名稱、共用存取金鑰值、用戶端識別碼、用戶端密碼和租用戶識別符。 如需命名慣例的詳細資訊,請參閱服務 連線 或內部文章

系統指派的受控識別

SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.cloud.azure.eventhub.namespace 事件中樞命名空間 <Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.eventhubs.namespace Spring Cloud Azure 版本高於 4.0 的事件中樞命名空間 <Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.eventhubs.credential.managed-identity-enabled 是否要啟用受控識別 true

Kafka-SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.kafka.bootstrap-servers Kafka 啟動程式伺服器 <Event-Hub-namespace>.servicebus.windows.net

其他客戶端類型

默認環境變數名稱 描述 範例值
AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE 事件中樞命名空間 <Event-Hubs-namespace>.servicebus.windows.net

範例指令碼

請參閱下列步驟和程序代碼,以使用系統指派的受控識別連線到 Azure 事件中樞。

  1. 安裝相依性。

    dotnet add package Azure.Identity
    dotnet add package Azure.Messaging.EventHubs
    
  2. 使用 Azure.Identity 進行驗證,並從 Service 連線 or 新增的環境變數取得 Azure 事件中樞 命名空間。 使用下列程式代碼時,請取消批註您想要使用的驗證類型代碼段部分。

    using System; 
    sing Azure.Identity;
    using Azure.Messaging.EventHubs;
    
    // Uncomment the following lines according to the authentication type.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var fullyQualifiedNamespace = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE");
    var eventHubName = "<NAME OF THE EVENT HUB>";
    
    // Example of sending events
    var producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential);
    

使用者指派的受控識別

SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.cloud.azure.eventhub.namespace 事件中樞命名空間 <Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.client-id 您的用戶端識別碼 <client-ID>
spring.cloud.azure.eventhubs.namespace Spring Cloud Azure 版本高於 4.0 的事件中樞命名空間 <Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.eventhubs.credential.client-id Spring Cloud Azure 版本高於 4.0 的用戶端識別碼 <client-ID>
spring.cloud.azure.eventhubs.credential.managed-identity-enabled 是否要啟用受控識別 true

Kafka-SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.kafka.bootstrap-servers Kafka 啟動程式伺服器 <Event-Hub-namespace>.servicebus.windows.net
spring.kafka.properties.azure.credential.managed-identity-enabled 是否要啟用受控識別 true
spring.kafka.properties.azure.credential.client-id 您的用戶端識別碼 <client-ID>

其他客戶端類型

默認環境變數名稱 描述 範例值
AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE 事件中樞命名空間 <Event-Hubs-namespace>.servicebus.windows.net
AZURE_EVENTHUB_CLIENTID 您的用戶端識別碼 <client-ID>

範例指令碼

請參閱下列步驟和程序代碼,以使用使用者指派的受控識別連線到 Azure 事件中樞。

  1. 安裝相依性。

    dotnet add package Azure.Identity
    dotnet add package Azure.Messaging.EventHubs
    
  2. 使用 Azure.Identity 進行驗證,並從 Service 連線 or 新增的環境變數取得 Azure 事件中樞 命名空間。 使用下列程式代碼時,請取消批註您想要使用的驗證類型代碼段部分。

    using System; 
    sing Azure.Identity;
    using Azure.Messaging.EventHubs;
    
    // Uncomment the following lines according to the authentication type.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var fullyQualifiedNamespace = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE");
    var eventHubName = "<NAME OF THE EVENT HUB>";
    
    // Example of sending events
    var producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential);
    

Connection string

SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.cloud.azure.storage.connection-string 事件中樞 連接字串 Endpoint=sb://servicelinkertesteventhub.servicebus.windows.net/;SharedAccessKeyName=<access-key-name>;SharedAccessKey=<access-key-value>
spring.cloud.azure.eventhubs.connection-string Spring Cloud Azure 版本高於 4.0 的事件中樞 連接字串 Endpoint=sb://servicelinkertesteventhub.servicebus.windows.net/;SharedAccessKeyName=<access-key-name>;SharedAccessKey=<access-key-value>

Kafka-SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.cloud.azure.eventhubs.connection-string 事件中樞 連接字串 Endpoint=sb://servicelinkertesteventhub.servicebus.windows.net/;SharedAccessKeyName=<access-key-name>;SharedAccessKey=<access-key-value>

其他客戶端類型

默認環境變數名稱 描述 範例值
AZURE_EVENTHUB_CONNECTIONSTRING 事件中樞 連接字串 Endpoint=sb://<Event-Hubs-namespace>.servicebus.windows.net/;SharedAccessKeyName=<access-key-name>;SharedAccessKey=<access-key-value>

範例指令碼

請參閱下面的步驟和程序代碼,以使用 連接字串 連線到 Azure 事件中樞。

  1. 安裝相依性。

    dotnet add package Azure.Messaging.EventHubs
    
  2. 從 Service 連線 or 所新增的環境變數取得 連接字串。

    using System; 
    using Azure.Messaging.EventHubs;
    
    string connectionString = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CONNECTIONSTRING");
    var eventHubName = "<NAME OF THE EVENT HUB>";
    var consumerGroup = EventHubConsumerClient.DefaultConsumerGroupName;
    
    var producer = new EventHubProducerClient(connectionString, eventHubName);
    var consumer = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName);
    

服務主體

SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.cloud.azure.eventhub.namespace 事件中樞命名空間 <Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.client-id 您的用戶端識別碼 <client-ID>
spring.cloud.azure.tenant-id 您的客戶端密碼 <client-secret>
spring.cloud.azure.client-secret 您的租用戶識別碼 <tenant-id>
spring.cloud.azure.eventhubs.namespace Spring Cloud Azure 版本高於 4.0 的事件中樞命名空間 <Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.eventhubs.credential.client-id Spring Cloud Azure 版本高於 4.0 的用戶端識別碼 <client-ID>
spring.cloud.azure.eventhubs.credential.client-secret Spring Cloud Azure 版本高於 4.0 的客戶端密碼 <client-secret>
spring.cloud.azure.eventhubs.profile.tenant-id Spring Cloud Azure 版本的租使用者標識碼高於 4.0 <tenant-id>

Kafka-SpringBoot 用戶端類型

默認環境變數名稱 描述 範例值
spring.kafka.bootstrap-servers Kafka 啟動程式伺服器 <Event-Hub-namespace>.servicebus.windows.net
spring.kafka.properties.azure.credential.client-id 您的用戶端識別碼 <client-ID>
spring.kafka.properties.azure.credential.client-secret 您的客戶端密碼 <client-secret>
spring.kafka.properties.azure.profile.tenant-id 您的租用戶識別碼 <tenant-id>

其他客戶端類型

默認環境變數名稱 描述 範例值
AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE 事件中樞命名空間 <Event-Hubs-namespace>.servicebus.windows.net
AZURE_EVENTHUB_CLIENTID 您的用戶端識別碼 <client-ID>
AZURE_EVENTHUB_CLIENTSECRET 您的客戶端密碼 <client-secret>
AZURE_EVENTHUB_TENANTID 您的租用戶識別碼 <tenant-id>

範例指令碼

請參閱下列步驟和程序代碼,以使用服務主體連線到 Azure 事件中樞。

  1. 安裝相依性。

    dotnet add package Azure.Identity
    dotnet add package Azure.Messaging.EventHubs
    
  2. 使用 Azure.Identity 進行驗證,並從 Service 連線 or 所新增的環境變數取得 Azure 事件中樞 命名空間。 使用下列程式代碼時,請取消批註您想要使用的驗證類型代碼段部分。

    using System; 
    sing Azure.Identity;
    using Azure.Messaging.EventHubs;
    
    // Uncomment the following lines according to the authentication type.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var fullyQualifiedNamespace = Environment.GetEnvironmentVariable("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE");
    var eventHubName = "<NAME OF THE EVENT HUB>";
    
    // Example of sending events
    var producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential);
    

下一步

請遵循下列教學課程,深入瞭解 Service 連線 or。