Questa pagina mostra i metodi e i client di autenticazione supportati e mostra il codice di esempio che è possibile usare per connettere Bus di servizio di Azure ad altri servizi cloud tramite il connettore di servizi. È comunque possibile connettersi al bus di servizio con altri linguaggi di programmazione senza usare il connettore di servizi. Questa pagina mostra inoltre i nomi e i valori predefiniti delle variabili di ambiente (o configurazione Spring Boot) che si ottengono quando si creano le connessioni al servizio.
Servizi di calcolo supportati
Il connettore di servizi può essere usato per connettere i servizi di calcolo seguenti a bus di servizio di Azure:
- Servizio app di Azure
- App contenitore di Azure
- Funzioni di Azure
- Servizio Azure Kubernetes (AKS)
- Azure Spring Apps
Tipi di autenticazione e di client supportati
La tabella seguente illustra le combinazioni di metodi di autenticazione e client supportati per la connessione del servizio di calcolo a bus di servizio tramite il connettore di servizi. Un valore "Sì" indica che la combinazione è supportata, mentre "No" indica che non è supportata.
Tipo client |
Identità gestita assegnata dal sistema |
Identità gestita assegnata dall'utente |
Stringa di segreto/connessione |
Entità servizio |
.NET |
Sì |
Sì |
Sì |
Sì |
Go |
Sì |
Sì |
Sì |
Sì |
Java |
Sì |
Sì |
Sì |
Sì |
Java - Spring Boot |
Sì |
Sì |
Sì |
Sì |
Node.js |
Sì |
Sì |
Sì |
Sì |
Python |
Sì |
Sì |
Sì |
Sì |
Nessuno |
Sì |
Sì |
Sì |
Sì |
Questa tabella indica che tutte le combinazioni di tipi client e metodi di autenticazione nella tabella sono supportate. Tutti i tipi di client possono usare uno dei metodi di autenticazione per connettersi a bus di servizio di Azure tramite il connettore di servizi.
Nomi di variabili di ambiente predefiniti o proprietà dell'applicazione
Usare i dettagli di connessione seguenti per connettere i servizi di calcolo a bus di servizio. Per ogni esempio seguente, sostituire i testi segnaposto <Service-Bus-namespace>
, <access-key-name>
, <access-key-value>
, <client-ID>
, <client-secret>
e <tenant-id>
con lo spazio dei nomi di bus di servizio, il nome della chiave di accesso condiviso, il valore della chiave di accesso condiviso, l'ID client, il segreto client e l'ID tenant. Per altre informazioni sulle convenzioni di denominazione, vedere l'articolo Elementi interni del connettore di servizi.
Identità gestita assegnata dal sistema
Tipo di client SpringBoot
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
spring.cloud.azure.servicebus.namespace |
Spazio dei nomi bus di servizio: |
<Service-Bus-namespace>.servicebus.windows.net |
Altri tipi di client
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE |
Spazio dei nomi bus di servizio: |
<Service-Bus-namespace>.servicebus.windows.net |
Codice di esempio
Fare riferimento ai passaggi e al codice seguenti per connettersi al bus di servizio usando un'identità gestita assegnata dal sistema.
Installare le dipendenze.
dotnet add package Azure.Messaging.ServiceBus
dotnet add package Azure.Identity
Eseguire l'autenticazione usando Azure.Identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
using Azure.Identity;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.AzureSERVICEBUS;
string namespace = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();
// user-assigned managed identity
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTID");
// });
// service principal
// var tenantId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var client = new ServiceBusClient(namespace, credential);
Aggiungere le dipendenze seguenti nel file pom.xml:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.13.3</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.8.0</version>
<scope>compile</scope>
</dependency>
Eseguire l'autenticazione usando azure-identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import com.azure.messaging.servicebus.*;
import com.azure.identity.*;
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_SERVICEBUS_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_SERVICEBUS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_SERVICEBUS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_SERVICEBUS_TENANTID>"))
// .build();
String namespace = System.getenv("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE");
// For example, create a Service Bus Sender client for a queue using a managed identity or a service principal.
ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
.fullyQualifiedNamespace(namespace)
.credential(credential)
.sender()
.queueName("<queueName>")
.buildClient();
- Aggiungere le dipendenze seguenti nel file pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- Configurare un'applicazione Spring. Le proprietà di configurazione della connessione del bus di servizio sono impostate su Spring App dal connettore di servizi. Per altre informazioni, vedere Usare il bus di servizio di Azure nelle applicazioni Spring.
- Installare le dipendenze.
pip install azure-servicebus
pip install azure-identity
- Eseguire l'autenticazione usando
azure-identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import os
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_SERVICEBUS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_SERVICEBUS_TENANTID')
# client_id = os.getenv('AZURE_SERVICEBUS_CLIENTID')
# client_secret = os.getenv('AZURE_SERVICEBUS_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
namespace = os.getenv('AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE')
client = ServiceBusClient(fully_qualified_namespace=namespace, credential=cred)
- Installare le dipendenze.
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus
- Eseguire l'autenticazione usando
azidentity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import (
"context"
"errors"
"fmt"
"os"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus"
)
namespace, ok := os.LookupEnv("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE")
if !ok {
panic("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE environment variable not found")
}
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// For user-assigned identity.
// clientid := os.Getenv("AZURE_POSTGRESQL_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// For service principal.
// clientid := os.Getenv("AZURE_POSTGRESQL_CLIENTID")
// tenantid := os.Getenv("AZURE_POSTGRESQL_TENANTID")
// clientsecret := os.Getenv("AZURE_POSTGRESQL_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
panic(err)
}
client, err := azservicebus.NewClient(namespace, cred, nil)
if err != nil {
panic(err)
}
Installare le dipendenze.
npm install @azure/service-bus @azure/identity
Eseguire l'autenticazione usando @azure/identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { ServiceBusClient } = require("@azure/service-bus");
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_SERVICEBUS_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_SERVICEBUS_TENANTID;
// const clientId = process.env.AZURE_SERVICEBUS_CLIENTID;
// const clientSecret = process.env.AZURE_SERVICEBUS_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const fullyQualifiedNamespace = process.env.AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE;
const client = new ServiceBusClient(fullyQualifiedNamespace, credential);
Per altri linguaggi, è possibile usare le informazioni di connessione impostate dal connettore di servizi sulle variabili di ambiente per connettere i servizi di calcolo al bus di servizio. Per informazioni dettagliate sulle variabili di ambiente, vedere Integrare il bus di servizio con il connettore di servizi.
Identità gestita assegnata dall'utente
Tipo di client SpringBoot
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
spring.cloud.azure.servicebus.namespace |
Spazio dei nomi bus di servizio: |
<Service-Bus-namespace>.servicebus.windows.net |
spring.cloud.azure.client-id |
L’ID client |
<client-ID> |
Altri tipi di client
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE |
Spazio dei nomi bus di servizio: |
<Service-Bus-namespace>.servicebus.windows.net |
AZURE_SERVICEBUS_CLIENTID |
L’ID client |
<client-ID> |
Codice di esempio
Fare riferimento ai passaggi e al codice seguenti per connettersi al bus di servizio usando un'identità gestita assegnata dall’utente.
Installare le dipendenze.
dotnet add package Azure.Messaging.ServiceBus
dotnet add package Azure.Identity
Eseguire l'autenticazione usando Azure.Identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
using Azure.Identity;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.AzureSERVICEBUS;
string namespace = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();
// user-assigned managed identity
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTID");
// });
// service principal
// var tenantId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var client = new ServiceBusClient(namespace, credential);
Aggiungere le dipendenze seguenti nel file pom.xml:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.13.3</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.8.0</version>
<scope>compile</scope>
</dependency>
Eseguire l'autenticazione usando azure-identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import com.azure.messaging.servicebus.*;
import com.azure.identity.*;
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_SERVICEBUS_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_SERVICEBUS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_SERVICEBUS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_SERVICEBUS_TENANTID>"))
// .build();
String namespace = System.getenv("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE");
// For example, create a Service Bus Sender client for a queue using a managed identity or a service principal.
ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
.fullyQualifiedNamespace(namespace)
.credential(credential)
.sender()
.queueName("<queueName>")
.buildClient();
- Aggiungere le dipendenze seguenti nel file pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- Configurare un'applicazione Spring. Le proprietà di configurazione della connessione del bus di servizio sono impostate su Spring App dal connettore di servizi. Per altre informazioni, vedere Usare il bus di servizio di Azure nelle applicazioni Spring.
- Installare le dipendenze.
pip install azure-servicebus
pip install azure-identity
- Eseguire l'autenticazione usando
azure-identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import os
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_SERVICEBUS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_SERVICEBUS_TENANTID')
# client_id = os.getenv('AZURE_SERVICEBUS_CLIENTID')
# client_secret = os.getenv('AZURE_SERVICEBUS_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
namespace = os.getenv('AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE')
client = ServiceBusClient(fully_qualified_namespace=namespace, credential=cred)
- Installare le dipendenze.
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus
- Eseguire l'autenticazione usando
azidentity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import (
"context"
"errors"
"fmt"
"os"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus"
)
namespace, ok := os.LookupEnv("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE")
if !ok {
panic("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE environment variable not found")
}
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// For user-assigned identity.
// clientid := os.Getenv("AZURE_POSTGRESQL_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// For service principal.
// clientid := os.Getenv("AZURE_POSTGRESQL_CLIENTID")
// tenantid := os.Getenv("AZURE_POSTGRESQL_TENANTID")
// clientsecret := os.Getenv("AZURE_POSTGRESQL_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
panic(err)
}
client, err := azservicebus.NewClient(namespace, cred, nil)
if err != nil {
panic(err)
}
Installare le dipendenze.
npm install @azure/service-bus @azure/identity
Eseguire l'autenticazione usando @azure/identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { ServiceBusClient } = require("@azure/service-bus");
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_SERVICEBUS_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_SERVICEBUS_TENANTID;
// const clientId = process.env.AZURE_SERVICEBUS_CLIENTID;
// const clientSecret = process.env.AZURE_SERVICEBUS_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const fullyQualifiedNamespace = process.env.AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE;
const client = new ServiceBusClient(fullyQualifiedNamespace, credential);
Per altri linguaggi, è possibile usare le informazioni di connessione impostate dal connettore di servizi sulle variabili di ambiente per connettere i servizi di calcolo al bus di servizio. Per informazioni dettagliate sulle variabili di ambiente, vedere Integrare il bus di servizio con il connettore di servizi.
Stringa di connessione
Avviso
Microsoft consiglia di usare il flusso di autenticazione più sicuro disponibile. Il flusso di autenticazione descritto in questa procedura richiede un livello di attendibilità molto elevato nell'applicazione e comporta rischi che non sono presenti in altri flussi. Si consiglia di usare questo flusso solo quando altri flussi più sicuri, come le identità gestite, non sono validi.
Tipo di client SpringBoot
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
spring.cloud.azure.servicebus.connection-string |
Stringa di connessione del bus di servizio |
Endpoint=sb://<Service-Bus-namespace>.servicebus.windows.net/;SharedAccessKeyName=<access-key-name>;SharedAccessKey=<access-key-value> |
Altri tipi di client
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
AZURE_SERVICEBUS_CONNECTIONSTRING |
Stringa di connessione del bus di servizio |
Endpoint=sb://<Service-Bus-namespace>.servicebus.windows.net/;SharedAccessKeyName=<access-key-name>;SharedAccessKey=<access-key-value> |
Codice di esempio
Fare riferimento ai passaggi e al codice seguenti per connettersi al bus di servizio usando una stringa di connessione.
Installare le dipendenze.
dotnet add package Azure.Messaging.ServiceBus
Ottenere la stringa di connessione del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi.
using Azure.Messaging.ServiceBus;
var connectionString = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CONNECTIONSTRING");
var client = client = new ServiceBusClient(connectionString);
Aggiungere la dipendenza seguente nel file pom.xml:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.13.3</version>
</dependency>
Ottenere la stringa di connessione del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi.
import com.azure.messaging.servicebus.*;
String connectionString = System.getenv("AZURE_SERVICEBUS_CONNECTIONSTRING");
// For example, create a Service Bus Sender client for a queue using the connection string.
ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
.connectionString(connectionString)
.sender()
.queueName("<queueName>")
.buildClient();
- Aggiungere le dipendenze seguenti nel file pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- Configurare un'applicazione Spring. La stringa
spring.cloud.azure.servicebus.connection-string
di connessione del bus di servizio è impostata su Spring App dal connettore di servizi. Per altre informazioni, vedere Usare il bus di servizio di Azure nelle applicazioni Spring.
- Installare le dipendenze.
pip install azure-servicebus
- Ottenere la stringa di connessione del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi.
import os
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
connection_str = os.getenv('AZURE_SERVICEBUS_CONNECTIONSTRING')
client = ServiceBusClient.from_connection_string(connection_str)
Installare le dipendenze.
go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus
Ottenere la stringa di connessione del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi.
import (
"context"
"errors"
"fmt"
"os"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus"
)
connectionString, ok := os.LookupEnv("AZURE_SERVICEBUS_CONNECTIONSTRING")
if !ok {
panic("AZURE_SERVICEBUS_CONNECTIONSTRING environment variable not found")
}
client, err := azservicebus.NewClientFromConnectionString(connectionString, nil)
if err != nil {
panic(err)
}
Installare le dipendenze.
npm install @azure/service-bus
Ottenere la stringa di connessione del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi.
const { ServiceBusClient } = require("@azure/service-bus");
const connectionString = process.env.AZURE_SERVICEBUS_CONNECTIONSTRING;
const client = new ServiceBusClient(connectionString);
Per altri linguaggi, è possibile usare le informazioni di connessione impostate dal connettore di servizi sulle variabili di ambiente per connettere i servizi di calcolo al bus di servizio. Per informazioni dettagliate sulle variabili di ambiente, vedere Integrare il bus di servizio con il connettore di servizi.
Entità servizio
Tipo di client SpringBoot
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
spring.cloud.azure.servicebus.namespace |
Spazio dei nomi bus di servizio: |
<Service-Bus-namespace>.servicebus.windows.net |
spring.cloud.azure.client-id |
L’ID client |
<client-ID> |
spring.cloud.azure.tenant-id |
Segreto client |
<client-secret> |
spring.cloud.azure.client-secret |
ID del tenant. |
<tenant-id> |
Altri tipi di client
Nome variabile di ambiente predefinito |
Descrizione |
Valore di esempio |
AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE |
Spazio dei nomi bus di servizio: |
<Service-Bus-namespace>.servicebus.windows.net |
AZURE_SERVICEBUS_CLIENTID |
L’ID client |
<client-ID> |
AZURE_SERVICEBUS_CLIENTSECRET |
Segreto client |
<client-secret> |
AZURE_SERVICEBUS_TENANTID |
ID del tenant. |
<tenant-id> |
Codice di esempio
Fare riferimento ai passaggi e al codice seguenti per connettersi al bus di servizio usando un’entità servizio.
Installare le dipendenze.
dotnet add package Azure.Messaging.ServiceBus
dotnet add package Azure.Identity
Eseguire l'autenticazione usando Azure.Identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
using Azure.Identity;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.AzureSERVICEBUS;
string namespace = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE");
// Uncomment the following lines corresponding to the authentication type you want to use.
// system-assigned managed identity
// var credential = new DefaultAzureCredential();
// user-assigned managed identity
// var credential = new DefaultAzureCredential(
// new DefaultAzureCredentialOptions
// {
// ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTID");
// });
// service principal
// var tenantId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_TENANTID");
// var clientId = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTID");
// var clientSecret = Environment.GetEnvironmentVariable("AZURE_SERVICEBUS_CLIENTSECRET");
// var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var client = new ServiceBusClient(namespace, credential);
Aggiungere le dipendenze seguenti nel file pom.xml:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.13.3</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.8.0</version>
<scope>compile</scope>
</dependency>
Eseguire l'autenticazione usando azure-identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import com.azure.messaging.servicebus.*;
import com.azure.identity.*;
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_SERVICEBUS_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential defaultCredential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("<AZURE_SERVICEBUS_CLIENTID>"))
// .clientSecret(System.getenv("<AZURE_SERVICEBUS_CLIENTSECRET>"))
// .tenantId(System.getenv("<AZURE_SERVICEBUS_TENANTID>"))
// .build();
String namespace = System.getenv("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE");
// For example, create a Service Bus Sender client for a queue using a managed identity or a service principal.
ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
.fullyQualifiedNamespace(namespace)
.credential(credential)
.sender()
.queueName("<queueName>")
.buildClient();
- Aggiungere le dipendenze seguenti nel file pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- Configurare un'applicazione Spring. Le proprietà di configurazione della connessione del bus di servizio sono impostate su Spring App dal connettore di servizi. Per altre informazioni, vedere Usare il bus di servizio di Azure nelle applicazioni Spring.
- Installare le dipendenze.
pip install azure-servicebus
pip install azure-identity
- Eseguire l'autenticazione usando
azure-identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import os
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
from azure.identity import ManagedIdentityCredential, ClientSecretCredential
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_SERVICEBUS_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_SERVICEBUS_TENANTID')
# client_id = os.getenv('AZURE_SERVICEBUS_CLIENTID')
# client_secret = os.getenv('AZURE_SERVICEBUS_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
namespace = os.getenv('AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE')
client = ServiceBusClient(fully_qualified_namespace=namespace, credential=cred)
- Installare le dipendenze.
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
go get github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus
- Eseguire l'autenticazione usando
azidentity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import (
"context"
"errors"
"fmt"
"os"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus"
)
namespace, ok := os.LookupEnv("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE")
if !ok {
panic("AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE environment variable not found")
}
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned identity.
// cred, err := azidentity.NewDefaultAzureCredential(nil)
// For user-assigned identity.
// clientid := os.Getenv("AZURE_POSTGRESQL_CLIENTID")
// azidentity.ManagedIdentityCredentialOptions.ID := clientid
// options := &azidentity.ManagedIdentityCredentialOptions{ID: clientid}
// cred, err := azidentity.NewManagedIdentityCredential(options)
// For service principal.
// clientid := os.Getenv("AZURE_POSTGRESQL_CLIENTID")
// tenantid := os.Getenv("AZURE_POSTGRESQL_TENANTID")
// clientsecret := os.Getenv("AZURE_POSTGRESQL_CLIENTSECRET")
// cred, err := azidentity.NewClientSecretCredential(tenantid, clientid, clientsecret, &azidentity.ClientSecretCredentialOptions{})
if err != nil {
panic(err)
}
client, err := azservicebus.NewClient(namespace, cred, nil)
if err != nil {
panic(err)
}
Installare le dipendenze.
npm install @azure/service-bus @azure/identity
Eseguire l'autenticazione usando @azure/identity
e ottenere lo spazio dei nomi del bus di servizio dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
const { ServiceBusClient } = require("@azure/service-bus");
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_SERVICEBUS_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_SERVICEBUS_TENANTID;
// const clientId = process.env.AZURE_SERVICEBUS_CLIENTID;
// const clientSecret = process.env.AZURE_SERVICEBUS_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const fullyQualifiedNamespace = process.env.AZURE_SERVICEBUS_FULLYQUALIFIEDNAMESPACE;
const client = new ServiceBusClient(fullyQualifiedNamespace, credential);
Per altri linguaggi, è possibile usare le informazioni di connessione impostate dal connettore di servizi sulle variabili di ambiente per connettere i servizi di calcolo al bus di servizio. Per informazioni dettagliate sulle variabili di ambiente, vedere Integrare il bus di servizio con il connettore di servizi.
Passaggio successivo
Per altre informazioni sul connettore di servizi seguire l'esercitazione riportata di seguito.