Integrar os Hubs de Eventos do Azure com o Conector de Serviço
Artigo
Esta página mostra métodos e clientes de autenticação com suporte e mostra o código de exemplo que você pode usar para conectar os Hubs de Eventos do Azure a outros serviços de nuvem usando o Service Connector. Você ainda poderá se conectar aos Hubs de Eventos em outras linguagens de programação sem usar o Conector de Serviço. Esta página também mostra nomes e valores de variáveis de ambiente padrão (ou configuração do Spring Boot) que você obtém ao criar conexões de serviço.
Serviço de computação com suporte
O Service Connector pode ser usado para conectar os seguintes serviços de computação aos Hubs de Eventos do Azure:
Serviço de aplicativo do Azure
Funções do Azure
Aplicativos de Contêiner do Azure
Azure Spring Apps
Tipos de autenticação e tipos de cliente com suporte
A tabela abaixo mostra quais combinações de tipos de cliente e métodos de autenticação têm suporte para conectar seu serviço de computação aos Hubs de Eventos do Azure usando o Service Connector. Um "Sim" indica que a combinação é suportada, enquanto um "Não" indica que ela não é suportada.
Tipo de cliente
Identidade gerenciada atribuída pelo sistema
Identidade gerenciada atribuída pelo usuário
Cadeia de conexão/segredo
Entidade de serviço
.NET
Sim
Sim
Sim
Yes
Go
Sim
Sim
Sim
Sim
Java
Sim
Sim
Sim
Yes
Java – Spring Boot
Sim
Sim
Sim
Yes
Kafka - Spring Boot
Sim
Sim
Sim
Sim
Node.js
Sim
Sim
Sim
Sim
Python
Sim
Sim
Sim
Yes
Nenhum
Sim
Sim
Sim
Yes
Esta tabela indica que todas as combinações de tipos de cliente e métodos de autenticação na tabela são suportadas. Todos os tipos de cliente podem usar qualquer um dos métodos de autenticação para se conectar aos Hubs de Eventos do Azure usando o Service Connector.
Nomes de variável de ambiente padrão ou propriedades de aplicativo
Use os detalhes de conexão abaixo para conectar os serviços de computação aos Hubs de Eventos. Para cada exemplo abaixo, substitua os textos de espaço reservado <Event-Hubs-namespace>, <access-key-name>, <access-key-value>, <client-ID>, <client-secret> e <tenant-id> pelo seguinte: namespace dos Hubs de Eventos, nome da chave de acesso compartilhada, valor da chave de acesso compartilhada, ID do cliente, segredo do cliente e ID do locatário. Para obter mais informações sobre convenções de nomenclatura, consulte o artigo Internos do Service Connector.
Identidade gerenciada atribuída pelo sistema
Tipo de cliente SpringBoot
Nome da variável de ambiente padrão
Descrição
Valor de exemplo
spring.cloud.azure.eventhub.namespace
Namespace do Hubs de Eventos
<Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.eventhubs.namespace
Namespace dos Hubs de Eventos para a versão do Spring Cloud Azure acima de 4.0
Autentique-se usando Azure.Identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
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);
Adicione as dependências a seguir no seu arquivo pom.xml:
Autentique-se usando azure-identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
// Uncomment the following lines according to the authentication type.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_EVENTHUB_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_EVENTHUB_CLIENTID"))
// .clientSecret(System.getenv("AZURE_EVENTHUB_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_EVENTHUB_TENANTID"))
// .build();
String namespace = System.getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE");
// Example of sending events
EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
.consumerGroup(EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME)
.credential(namespace, "<event-hub-name>", credential)
EventProcessorClient eventProcessorClient = eventProcessorClientBuilder.buildEventProcessorClient();
Consulte Spring Cloud Stream com Hubs de Eventos do Azure e Usando o Spring Integration para Hubs de Eventos do Azure para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. Dois conjuntos de propriedades de configuração são fornecidos dependendo da versão do Spring Cloud Azure (abaixo de 4.0 e acima de 4.0) usada. Para obter mais informações sobre as alterações na biblioteca do Spring Cloud Azure, consulte o Guia de migração do Spring Cloud Azure.
Autentique-se usando azure-identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
import os
from azure.eventhub import EventData
from azure.eventhub.aio import EventHubProducerClient
# Uncomment the following lines according to the authentication type.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_EVENTHUB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_EVENTHUB_TENANTID')
# client_id = os.getenv('AZURE_EVENTHUB_CLIENTID')
# client_secret = os.getenv('AZURE_EVENTHUB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
namespace = os.getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE")
EVENT_HUB_NAME = "EVENT_HUB_NAME"
# Example of sending events
producer = EventHubProducerClient(
fully_qualified_namespace=namespace,
eventhub_name=EVENT_HUB_NAME,
credential=cred,
)
Instale as dependências.
go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Autentique-se usando azidentity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
import (
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs"
)
// Uncomment the following lines according to the authentication type.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_EVENTHUB_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_EVENTHUB_CLIENTID")
// tenantid := os.Getenv("AZURE_EVENTHUB_TENANTID")
// clientsecret := os.Getenv("AZURE_EVENTHUB_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
namespace := os.Getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE")
// Example of sending events
producerClient, err := azeventhubs.NewProducerClient(namespace, "<eventhub-name>", defaultAzureCred, nil)
if err != nil {
panic(err)
}
Autentique-se usando @azure/identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
const { EventHubProducerClient } = require("@azure/event-hubs");
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines according to the authentication type.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_EVENTHUB_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_EVENTHUB_TENANTID;
// const clientId = process.env.AZURE_EVENTHUB_CLIENTID;
// const clientSecret = process.env.AZURE_EVENTHUB_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const namespace = process.env.AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE;
const eventHubName = "EVENT HUB NAME";
// Example of sending events
const producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential);
Para outros idiomas, você pode usar as propriedades de configuração de conexão que o Service Connector define para as variáveis de ambiente para se conectar aos Hubs de Eventos do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar Hubs de Eventos do Azure com o Service Connector.
Identidade gerenciada atribuída pelo usuário
Tipo de cliente SpringBoot
Nome da variável de ambiente padrão
Descrição
Valor de exemplo
spring.cloud.azure.eventhub.namespace
Namespace do Hubs de Eventos
<Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.client-id
Sua ID de cliente
<client-ID>
spring.cloud.azure.eventhubs.namespace
Namespace dos Hubs de Eventos para a versão do Spring Cloud Azure acima de 4.0
<Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.eventhubs.credential.client-id
Sua ID de cliente para a versão do Spring Cloud Azure acima de 4.0
Autentique-se usando Azure.Identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
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);
Adicione as dependências a seguir no seu arquivo pom.xml:
Autentique-se usando azure-identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
// Uncomment the following lines according to the authentication type.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_EVENTHUB_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_EVENTHUB_CLIENTID"))
// .clientSecret(System.getenv("AZURE_EVENTHUB_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_EVENTHUB_TENANTID"))
// .build();
String namespace = System.getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE");
// Example of sending events
EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
.consumerGroup(EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME)
.credential(namespace, "<event-hub-name>", credential)
EventProcessorClient eventProcessorClient = eventProcessorClientBuilder.buildEventProcessorClient();
Consulte Spring Cloud Stream com Hubs de Eventos do Azure e Usando o Spring Integration para Hubs de Eventos do Azure para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. Dois conjuntos de propriedades de configuração são fornecidos dependendo da versão do Spring Cloud Azure (abaixo de 4.0 e acima de 4.0) usada. Para obter mais informações sobre as alterações na biblioteca do Spring Cloud Azure, consulte o Guia de migração do Spring Cloud Azure.
Autentique-se usando azure-identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
import os
from azure.eventhub import EventData
from azure.eventhub.aio import EventHubProducerClient
# Uncomment the following lines according to the authentication type.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_EVENTHUB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_EVENTHUB_TENANTID')
# client_id = os.getenv('AZURE_EVENTHUB_CLIENTID')
# client_secret = os.getenv('AZURE_EVENTHUB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
namespace = os.getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE")
EVENT_HUB_NAME = "EVENT_HUB_NAME"
# Example of sending events
producer = EventHubProducerClient(
fully_qualified_namespace=namespace,
eventhub_name=EVENT_HUB_NAME,
credential=cred,
)
Instale as dependências.
go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Autentique-se usando azidentity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
import (
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs"
)
// Uncomment the following lines according to the authentication type.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_EVENTHUB_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_EVENTHUB_CLIENTID")
// tenantid := os.Getenv("AZURE_EVENTHUB_TENANTID")
// clientsecret := os.Getenv("AZURE_EVENTHUB_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
namespace := os.Getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE")
// Example of sending events
producerClient, err := azeventhubs.NewProducerClient(namespace, "<eventhub-name>", defaultAzureCred, nil)
if err != nil {
panic(err)
}
Autentique-se usando @azure/identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
const { EventHubProducerClient } = require("@azure/event-hubs");
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines according to the authentication type.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_EVENTHUB_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_EVENTHUB_TENANTID;
// const clientId = process.env.AZURE_EVENTHUB_CLIENTID;
// const clientSecret = process.env.AZURE_EVENTHUB_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const namespace = process.env.AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE;
const eventHubName = "EVENT HUB NAME";
// Example of sending events
const producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential);
Para outros idiomas, você pode usar as propriedades de configuração de conexão que o Service Connector define para as variáveis de ambiente para se conectar aos Hubs de Eventos do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar Hubs de Eventos do Azure com o Service Connector.
Obtenha a cadeia de conexão da variável de ambiente adicionada pelo Service Connector.
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);
Adicione a seguinte dependência no arquivo pom.xml :
Obtenha a cadeia de conexão da variável de ambiente adicionada pelo Service Connector.
String connectionStr = System.getenv("AZURE_EVENTHUB_CONNECTIONSTRING");
// Example of sending events
EventHubProducerAsyncClient producer = new EventHubClientBuilder()
.connectionString(
connStr,
"<event-hub-name>")
.buildAsyncProducerClient();
Consulte Spring Cloud Stream com Hubs de Eventos do Azure e Usando o Spring Integration para Hubs de Eventos do Azure para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. Dois conjuntos de propriedades de configuração são fornecidos dependendo da versão do Spring Cloud Azure (abaixo de 4.0 e acima de 4.0) usada. Para obter mais informações sobre as alterações na biblioteca do Spring Cloud Azure, consulte o Guia de migração do Spring Cloud Azure.
Obtenha a cadeia de conexão da variável de ambiente adicionada pelo Service Connector.
const { EventHubProducerClient } = require("@azure/event-hubs");
const eventHubName = "EVENT HUB NAME";
const connection_string = process.env.AZURE_EVENTHUB_CONNECTIONSTRING;
// Example of sending events
const producer = new EventHubProducerClient(connectionString, eventHubName);
Para outros idiomas, você pode usar as propriedades de configuração de conexão que o Service Connector define para as variáveis de ambiente para se conectar aos Hubs de Eventos do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar Hubs de Eventos do Azure com o Service Connector.
Entidade de serviço
Tipo de cliente SpringBoot
Nome da variável de ambiente padrão
Descrição
Valor de exemplo
spring.cloud.azure.eventhub.namespace
Namespace do Hubs de Eventos
<Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.client-id
Sua ID de cliente
<client-ID>
spring.cloud.azure.tenant-id
Seu segredo do cliente
<client-secret>
spring.cloud.azure.client-secret
Sua ID de locatário
<tenant-id>
spring.cloud.azure.eventhubs.namespace
Namespace dos Hubs de Eventos para a versão do Spring Cloud Azure acima de 4.0
<Event-Hub-namespace>.servicebus.windows.net
spring.cloud.azure.eventhubs.credential.client-id
Sua ID de cliente para a versão do Spring Cloud Azure acima de 4.0
Autentique-se usando Azure.Identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
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);
Adicione as dependências a seguir no seu arquivo pom.xml:
Autentique-se usando azure-identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
// Uncomment the following lines according to the authentication type.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_EVENTHUB_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_EVENTHUB_CLIENTID"))
// .clientSecret(System.getenv("AZURE_EVENTHUB_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_EVENTHUB_TENANTID"))
// .build();
String namespace = System.getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE");
// Example of sending events
EventProcessorClientBuilder eventProcessorClientBuilder = new EventProcessorClientBuilder()
.consumerGroup(EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME)
.credential(namespace, "<event-hub-name>", credential)
EventProcessorClient eventProcessorClient = eventProcessorClientBuilder.buildEventProcessorClient();
Consulte Spring Cloud Stream com Hubs de Eventos do Azure e Usando o Spring Integration para Hubs de Eventos do Azure para configurar seu aplicativo Spring. As propriedades de configuração são adicionadas ao Spring Apps pelo Service Connector. Dois conjuntos de propriedades de configuração são fornecidos dependendo da versão do Spring Cloud Azure (abaixo de 4.0 e acima de 4.0) usada. Para obter mais informações sobre as alterações na biblioteca do Spring Cloud Azure, consulte o Guia de migração do Spring Cloud Azure.
Autentique-se usando azure-identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
import os
from azure.eventhub import EventData
from azure.eventhub.aio import EventHubProducerClient
# Uncomment the following lines according to the authentication type.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_EVENTHUB_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_EVENTHUB_TENANTID')
# client_id = os.getenv('AZURE_EVENTHUB_CLIENTID')
# client_secret = os.getenv('AZURE_EVENTHUB_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
namespace = os.getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE")
EVENT_HUB_NAME = "EVENT_HUB_NAME"
# Example of sending events
producer = EventHubProducerClient(
fully_qualified_namespace=namespace,
eventhub_name=EVENT_HUB_NAME,
credential=cred,
)
Instale as dependências.
go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Autentique-se usando azidentity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
import (
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs"
)
// Uncomment the following lines according to the authentication type.
// for system-assigned managed identity
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// for user-assigned managed identity
// clientid := os.Getenv("AZURE_EVENTHUB_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// for service principal
// clientid := os.Getenv("AZURE_EVENTHUB_CLIENTID")
// tenantid := os.Getenv("AZURE_EVENTHUB_TENANTID")
// clientsecret := os.Getenv("AZURE_EVENTHUB_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
namespace := os.Getenv("AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE")
// Example of sending events
producerClient, err := azeventhubs.NewProducerClient(namespace, "<eventhub-name>", defaultAzureCred, nil)
if err != nil {
panic(err)
}
Autentique-se usando @azure/identity e obtenha o namespace Hubs de Eventos do Azure das variáveis de ambiente adicionadas pelo Service Connector. Ao usar o código abaixo, descompacte a parte do snippet de código para o tipo de autenticação que você deseja usar.
const { EventHubProducerClient } = require("@azure/event-hubs");
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines according to the authentication type.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_EVENTHUB_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_EVENTHUB_TENANTID;
// const clientId = process.env.AZURE_EVENTHUB_CLIENTID;
// const clientSecret = process.env.AZURE_EVENTHUB_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const namespace = process.env.AZURE_EVENTHUB_FULLYQUALIFIEDNAMESPACE;
const eventHubName = "EVENT HUB NAME";
// Example of sending events
const producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential);
Para outros idiomas, você pode usar as propriedades de configuração de conexão que o Service Connector define para as variáveis de ambiente para se conectar aos Hubs de Eventos do Azure. Para obter detalhes sobre variáveis de ambiente, consulte Integrar Hubs de Eventos do Azure com o Service Connector.
Próximas etapas
Siga os tutoriais listados abaixo para saber mais sobre o Conector de Serviço.