共用方式為


使用服務連接器整合 Azure 事件中樞

此頁面會顯示支援的驗證方法和用戶端,並顯示範例程式碼,您可以用來將 Azure 事件中樞連線到使用服務連接器的其他雲端服務。 在未使用服務連接器的情況下,您仍可透過其他程式設計語言連線至事件中樞。 此頁面也顯示您在建立服務連線時取得的預設環境變數名稱和值 (或 Spring Boot 設定)。

支援的計算服務

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

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

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

下表顯示使用服務連接器將計算服務連線到 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

下表指出支源表格中所有用戶端類型和驗證方法組合。 所有用戶端類型都可以使用任何驗證方法,使用服務連接器連線到 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 進行驗證,並從服務連接器新增的環境變數取得 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 進行驗證,並從服務連接器新增的環境變數取得 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.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. 從服務連接器新增的環境變數取得連接字串。

    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 進行驗證,並從服務連接器新增的環境變數取得 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);
    

下一步

請透過下方列出的教學課程深入了解服務連接器。