ServiceBusClient Classe
La classe ServiceBusClient définit une interface de haut niveau pour obtenir ServiceBusSender et ServiceBusReceiver.
- Héritage
-
builtins.objectServiceBusClient
Constructeur
ServiceBusClient(fully_qualified_namespace: str, credential: TokenCredential | AzureSasCredential | AzureNamedKeyCredential, *, retry_total: int = 3, retry_backoff_factor: float = 0.8, retry_backoff_max: float = 120, retry_mode: str = 'exponential', **kwargs: Any)
Paramètres
- fully_qualified_namespace
- str
Nom d’hôte complet de l’espace de noms Service Bus. Le format de l’espace de noms est . servicebus.windows.net.
- credential
- TokenCredential ou AzureSasCredential ou AzureNamedKeyCredential
Objet d’informations d’identification utilisé pour l’authentification qui implémente une interface particulière pour obtenir des jetons. Il accepte les objets d’informations d’identification générés par la bibliothèque d’identité azure et les objets qui implémentent la méthode *get_token(self, scopes), ou une instance AzureSasCredential peut également être fournie.
- logging_enable
- bool
Indique s’il faut générer des journaux de trace réseau vers l’enregistreur d’événements. La valeur par défaut est False.
- transport_type
- TransportType
Type de protocole de transport qui sera utilisé pour communiquer avec le service Service Bus. La valeur par défaut est TransportType.Amqp , auquel cas le port 5671 est utilisé. Si le port 5671 n’est pas disponible/bloqué dans l’environnement réseau, TransportType.AmqpOverWebsocket peut être utilisé à la place, qui utilise le port 443 pour la communication.
- http_proxy
- Dict
Paramètres du proxy HTTP. Il doit s’agir d’un dictionnaire avec les clés suivantes : « proxy_hostname » (valeur str) et « proxy_port » (valeur int). En outre, les clés suivantes peuvent également être présentes : « nom d’utilisateur », « mot de passe ».
- user_agent
- str
S’il est spécifié, cela sera ajouté devant la chaîne d’agent utilisateur intégrée.
- retry_total
- int
Nombre total de tentatives de restauration d’une opération ayant échoué en cas d’erreur. La valeur par défaut est 3.
- retry_backoff_factor
- float
Sauvegarde delta interne dans l’unité de seconde entre les nouvelles tentatives. La valeur par défaut est 0,8.
- retry_backoff_max
- float
Intervalle de back-off maximal dans l’unité de seconde. La valeur par défaut est 120.
- retry_mode
- str
Comportement de retard entre les tentatives de nouvelle tentative. Les valeurs prises en charge sont « fixes » ou « exponentielles », où la valeur par défaut est « exponentielle ».
- custom_endpoint_address
- str
Adresse de point de terminaison personnalisée à utiliser pour établir une connexion au service Service Bus, ce qui permet aux demandes réseau d’être acheminées via toutes les passerelles d’application ou autres chemins d’accès nécessaires pour l’environnement hôte. La valeur par défaut est None. Le format est « sb://< custom_endpoint_hostname>:<custom_endpoint_port> ». Si le port n’est pas spécifié dans le custom_endpoint_address, le port 443 est utilisé par défaut.
- connection_verify
- str
Chemin d’accès au fichier CA_BUNDLE personnalisé du certificat SSL utilisé pour authentifier l’identité du point de terminaison de connexion. La valeur par défaut est None, auquel cas certifi.where() sera utilisé.
- uamqp_transport
- bool
Indique s’il faut utiliser la bibliothèque uamqp comme transport sous-jacent. La valeur par défaut est False et la bibliothèque PURE PYTHON AMQP sera utilisée comme transport sous-jacent.
Exemples
Créez une instance du ServiceBusClient.
import os
from azure.identity import DefaultAzureCredential
from azure.servicebus import ServiceBusClient
fully_qualified_namespace = os.environ['SERVICEBUS_FULLY_QUALIFIED_NAMESPACE']
servicebus_client = ServiceBusClient(
fully_qualified_namespace=fully_qualified_namespace,
credential=DefaultAzureCredential()
)
Variables
- fully_qualified_namespace
- str
Nom d’hôte complet de l’espace de noms Service Bus. Le format de l’espace de noms est . servicebus.windows.net.
Méthodes
close |
Fermez le client ServiceBus. Tous les expéditeurs, récepteurs et connexion sous-jacente générés seront arrêtés. |
from_connection_string |
Créez un ServiceBusClient à partir d’une chaîne de connexion. |
get_queue_receiver |
Obtenez ServiceBusReceiver pour la file d’attente spécifique. |
get_queue_sender |
Obtenez ServiceBusSender pour la file d’attente spécifique. |
get_subscription_receiver |
Obtenez ServiceBusReceiver pour l’abonnement spécifique sous la rubrique . |
get_topic_sender |
Obtenez ServiceBusSender pour la rubrique spécifique. |
close
Fermez le client ServiceBus. Tous les expéditeurs, récepteurs et connexion sous-jacente générés seront arrêtés.
close() -> None
Retours
Aucun
from_connection_string
Créez un ServiceBusClient à partir d’une chaîne de connexion.
from_connection_string(conn_str: str, *, retry_total: int = 3, retry_backoff_factor: float = 0.8, retry_backoff_max: float = 120, retry_mode: str = 'exponential', **kwargs: Any) -> ServiceBusClient
Paramètres
- logging_enable
- bool
Indique s’il faut générer des journaux de trace réseau vers l’enregistreur d’événements. La valeur par défaut est False.
- transport_type
- TransportType
Type de protocole de transport qui sera utilisé pour communiquer avec le service Service Bus. La valeur par défaut est TransportType.Amqp , auquel cas le port 5671 est utilisé. Si le port 5671 n’est pas disponible/bloqué dans l’environnement réseau, TransportType.AmqpOverWebsocket peut être utilisé à la place, qui utilise le port 443 pour la communication.
- http_proxy
- Dict
Paramètres du proxy HTTP. Il doit s’agir d’un dictionnaire avec les clés suivantes : « proxy_hostname » (valeur str) et « proxy_port » (valeur int). En outre, les clés suivantes peuvent également être présentes : « nom d’utilisateur », « mot de passe ».
- user_agent
- str
S’il est spécifié, cela sera ajouté devant la chaîne d’agent utilisateur intégrée.
- retry_total
- int
Nombre total de tentatives de restauration d’une opération ayant échoué en cas d’erreur. La valeur par défaut est 3.
- retry_backoff_factor
- float
Sauvegarde delta interne dans l’unité de seconde entre les nouvelles tentatives. La valeur par défaut est 0,8.
- retry_backoff_max
- float
Intervalle de back-off maximal dans l’unité de seconde. La valeur par défaut est 120.
- retry_mode
- str
Comportement de retard entre les tentatives de nouvelle tentative. Les valeurs prises en charge sont « fixes » ou « exponentielles », où la valeur par défaut est « exponentielle ».
- custom_endpoint_address
- str
Adresse de point de terminaison personnalisée à utiliser pour établir une connexion au service Service Bus, ce qui permet aux demandes réseau d’être acheminées via toutes les passerelles d’application ou autres chemins d’accès nécessaires pour l’environnement hôte. La valeur par défaut est None. Le format est « sb://< custom_endpoint_hostname>:<custom_endpoint_port> ». Si le port n’est pas spécifié dans le custom_endpoint_address, le port 443 est utilisé par défaut.
- connection_verify
- str
Chemin d’accès au fichier CA_BUNDLE personnalisé du certificat SSL utilisé pour authentifier l’identité du point de terminaison de connexion. La valeur par défaut est None, auquel cas certifi.where() sera utilisé.
- uamqp_transport
- bool
Indique s’il faut utiliser la bibliothèque uamqp comme transport sous-jacent. La valeur par défaut est False et la bibliothèque PURE PYTHON AMQP sera utilisée comme transport sous-jacent.
Type de retour
Exemples
Créez une instance du ServiceBusClient à partir de la chaîne de connexion.
import os
from azure.servicebus import ServiceBusClient
servicebus_connection_str = os.environ['SERVICEBUS_CONNECTION_STR']
servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
get_queue_receiver
Obtenez ServiceBusReceiver pour la file d’attente spécifique.
get_queue_receiver(queue_name: str, *, session_id: str | ~typing.Literal[<ServiceBusSessionFilter.NEXT_AVAILABLE: 0>] | None = None, sub_queue: ~azure.servicebus._common.constants.ServiceBusSubQueue | str | None = None, receive_mode: ~azure.servicebus._common.constants.ServiceBusReceiveMode | str = ServiceBusReceiveMode.PEEK_LOCK, max_wait_time: float | None = None, auto_lock_renewer: ~azure.servicebus._common.auto_lock_renewer.AutoLockRenewer | None = None, prefetch_count: int = 0, **kwargs: ~typing.Any) -> ServiceBusReceiver
Paramètres
- queue_name
- str
Chemin d’accès de la file d’attente Service Bus spécifique à laquelle le client se connecte.
- session_id
- str ou <xref:azure.servicebus.NEXT_AVAILABLE_SESSION>
Session spécifique à partir de laquelle recevoir. Cela doit être spécifié pour une file d’attente de session, sinon il doit être Aucun. Pour recevoir des messages de la prochaine session disponible, définissez-la sur ~azure.servicebus.NEXT_AVAILABLE_SESSION.
- sub_queue
- str ou ServiceBusSubQueue ou None
S’il est spécifié, la sous-file d’attente à laquelle ce récepteur se connectera. Cela inclut les files d’attente DEAD_LETTER et TRANSFER_DEAD_LETTER, contient les messages qui ne peuvent pas être remis à un destinataire ou les messages qui ne peuvent pas être traités. La valeur par défaut est None, ce qui signifie se connecter à la file d’attente principale. Peut recevoir des valeurs à partir de l’énumération ServiceBusSubQueue ou des valeurs de chaîne équivalentes « deadletter » et « transferdeadletter ».
- receive_mode
- Union[ServiceBusReceiveMode, str]
Le receive_mode avec lequel les messages seront récupérés à partir de l’entité. Les deux options sont PEEK_LOCK et RECEIVE_AND_DELETE. Les messages reçus avec PEEK_LOCK doivent être réglés dans une période de verrouillage donnée avant d’être supprimés de la file d’attente. Les messages reçus avec RECEIVE_AND_DELETE sont immédiatement supprimés de la file d’attente et ne peuvent pas être rejetés ou ré-reçus par la suite si le client ne parvient pas à traiter le message. Le receive_mode par défaut est PEEK_LOCK.
Délai d’attente en secondes entre les messages reçus, après quoi le destinataire cesse automatiquement de recevoir. La valeur par défaut est None, c’est-à-dire aucun délai d’attente. Si des erreurs de connexion se produisent en raison d’un délai d’attente d’écriture, la valeur du délai d’expiration de la connexion peut devoir être ajustée. Pour plus d’informations, consultez le paramètre facultatif socket_timeout.
- auto_lock_renewer
- Optional[AutoLockRenewer]
Un ~azure.servicebus.AutoLockRenewer peut être fourni de manière à ce que les messages soient automatiquement enregistrés lors de la réception. Si le récepteur est un récepteur de session, il s’applique à la session à la place.
- prefetch_count
- int
Nombre maximal de messages à mettre en cache avec chaque requête adressée au service. Ce paramètre est uniquement destiné à l’optimisation avancée des performances. L’augmentation de cette valeur améliore les performances de débit des messages, mais augmente les chances que les messages expirent pendant leur mise en cache s’ils ne sont pas traités assez rapidement. La valeur par défaut est 0, ce qui signifie que les messages seront reçus du service et traités un par un. Dans le cas où prefetch_count est 0, ServiceBusReceiver.receive essaie de mettre en cache max_message_count (s’il est fourni) dans sa demande adressée au service.
- client_identifier
- str
Identificateur basé sur des chaînes permettant d’identifier de manière unique le récepteur instance. Service Bus l’associera à certains messages d’erreur pour faciliter la corrélation des erreurs. S’il n’est pas spécifié, un ID unique est généré.
- socket_timeout
- float
Durée en secondes pendant laquelle le socket sous-jacent sur la connexion doit attendre lors de l’envoi et de la réception de données avant d’expirer. La valeur par défaut est 0,2 pour TransportType.Amqp et 1 pour TransportType.AmqpOverWebsocket. Si des erreurs de connexion se produisent en raison d’un délai d’attente d’écriture, une valeur supérieure à la valeur par défaut peut être transmise.
Type de retour
Exemples
Créez une instance du ServiceBusReceiver à partir de ServiceBusClient.
import os
from azure.servicebus import ServiceBusClient
servicebus_connection_str = os.environ['SERVICEBUS_CONNECTION_STR']
queue_name = os.environ['SERVICEBUS_QUEUE_NAME']
servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
with servicebus_client:
queue_receiver = servicebus_client.get_queue_receiver(queue_name=queue_name)
get_queue_sender
Obtenez ServiceBusSender pour la file d’attente spécifique.
get_queue_sender(queue_name: str, **kwargs: Any) -> ServiceBusSender
Paramètres
- queue_name
- str
Chemin d’accès de la file d’attente Service Bus spécifique à laquelle le client se connecte.
- client_identifier
- str
Identificateur basé sur une chaîne permettant d’identifier de manière unique l’expéditeur instance. Service Bus l’associera à certains messages d’erreur pour faciliter la corrélation des erreurs. S’il n’est pas spécifié, un ID unique est généré.
- socket_timeout
- float
Durée en secondes pendant laquelle le socket sous-jacent sur la connexion doit attendre lors de l’envoi et de la réception de données avant d’expirer. La valeur par défaut est 0,2 pour TransportType.Amqp et 1 pour TransportType.AmqpOverWebsocket. Si des erreurs de connexion se produisent en raison d’un délai d’attente d’écriture, une valeur supérieure à la valeur par défaut peut être transmise.
Retours
Expéditeur de file d’attente.
Type de retour
Exemples
Créez une instance du ServiceBusSender à partir de ServiceBusClient.
import os
from azure.servicebus import ServiceBusClient
servicebus_connection_str = os.environ['SERVICEBUS_CONNECTION_STR']
queue_name = os.environ['SERVICEBUS_QUEUE_NAME']
servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
with servicebus_client:
queue_sender = servicebus_client.get_queue_sender(queue_name=queue_name)
get_subscription_receiver
Obtenez ServiceBusReceiver pour l’abonnement spécifique sous la rubrique .
get_subscription_receiver(topic_name: str, subscription_name: str, *, session_id: str | ~typing.Literal[<ServiceBusSessionFilter.NEXT_AVAILABLE: 0>] | None = None, sub_queue: ~azure.servicebus._common.constants.ServiceBusSubQueue | str | None = None, receive_mode: ~azure.servicebus._common.constants.ServiceBusReceiveMode | str = ServiceBusReceiveMode.PEEK_LOCK, max_wait_time: float | None = None, auto_lock_renewer: ~azure.servicebus._common.auto_lock_renewer.AutoLockRenewer | None = None, prefetch_count: int = 0, **kwargs: ~typing.Any) -> ServiceBusReceiver
Paramètres
- topic_name
- str
Nom de la rubrique Service Bus spécifique à laquelle le client se connecte.
- subscription_name
- str
Nom de l’abonnement Service Bus spécifique sous la rubrique Service Bus donnée.
- session_id
- str ou <xref:azure.servicebus.NEXT_AVAILABLE_SESSION>
Session spécifique à partir de laquelle recevoir. Cela doit être spécifié pour un abonnement de session, sinon, il doit être None. Pour recevoir des messages de la prochaine session disponible, définissez-la sur ~azure.servicebus.NEXT_AVAILABLE_SESSION.
- sub_queue
- str ou ServiceBusSubQueue ou None
S’il est spécifié, la sous-file d’attente à laquelle ce récepteur se connectera. Cela inclut les files d’attente DEAD_LETTER et TRANSFER_DEAD_LETTER, contient les messages qui ne peuvent pas être remis à un destinataire ou les messages qui ne peuvent pas être traités. La valeur par défaut est None, ce qui signifie se connecter à la file d’attente principale. Peut recevoir des valeurs à partir de l’énumération ServiceBusSubQueue ou des valeurs de chaîne équivalentes « deadletter » et « transferdeadletter ».
- receive_mode
- Union[ServiceBusReceiveMode, str]
Le receive_mode avec lequel les messages seront récupérés à partir de l’entité. Les deux options sont PEEK_LOCK et RECEIVE_AND_DELETE. Les messages reçus avec PEEK_LOCK doivent être réglés dans une période de verrouillage donnée avant d’être supprimés de l’abonnement. Les messages reçus avec RECEIVE_AND_DELETE sont immédiatement supprimés de l’abonnement et ne peuvent pas être rejetés ou ré-reçus ultérieurement si le client ne parvient pas à traiter le message. Le receive_mode par défaut est PEEK_LOCK.
Délai d’attente en secondes entre les messages reçus, après quoi le destinataire cesse automatiquement de recevoir. La valeur par défaut est None, c’est-à-dire aucun délai d’attente. Si des erreurs de connexion se produisent en raison d’un délai d’attente d’écriture, la valeur du délai d’expiration de la connexion peut devoir être ajustée. Pour plus d’informations, consultez le paramètre facultatif socket_timeout.
- auto_lock_renewer
- Optional[AutoLockRenewer]
Un ~azure.servicebus.AutoLockRenewer peut être fourni de manière à ce que les messages soient automatiquement enregistrés lors de la réception. Si le récepteur est un récepteur de session, il s’applique à la session à la place.
- prefetch_count
- int
Nombre maximal de messages à mettre en cache avec chaque requête adressée au service. Ce paramètre est uniquement destiné à l’optimisation avancée des performances. L’augmentation de cette valeur améliore les performances de débit des messages, mais augmente les chances que les messages expirent pendant leur mise en cache s’ils ne sont pas traités assez rapidement. La valeur par défaut est 0, ce qui signifie que les messages seront reçus du service et traités un par un. Dans le cas où prefetch_count est 0, ServiceBusReceiver.receive essaie de mettre en cache max_message_count (s’il est fourni) dans sa demande adressée au service.
- client_identifier
- str
Identificateur basé sur des chaînes permettant d’identifier de manière unique le récepteur instance. Service Bus l’associera à certains messages d’erreur pour faciliter la corrélation des erreurs. S’il n’est pas spécifié, un ID unique est généré.
- socket_timeout
- float
Durée en secondes pendant laquelle le socket sous-jacent sur la connexion doit attendre lors de l’envoi et de la réception de données avant d’expirer. La valeur par défaut est 0,2 pour TransportType.Amqp et 1 pour TransportType.AmqpOverWebsocket. Si des erreurs de connexion se produisent en raison d’un délai d’attente d’écriture, une valeur supérieure à la valeur par défaut peut être transmise.
Type de retour
Exemples
Créez une instance du ServiceBusReceiver à partir de ServiceBusClient.
import os
from azure.servicebus import ServiceBusClient
servicebus_connection_str = os.environ['SERVICEBUS_CONNECTION_STR']
topic_name = os.environ["SERVICEBUS_TOPIC_NAME"]
subscription_name = os.environ["SERVICEBUS_SUBSCRIPTION_NAME"]
servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
with servicebus_client:
subscription_receiver = servicebus_client.get_subscription_receiver(
topic_name=topic_name,
subscription_name=subscription_name,
)
get_topic_sender
Obtenez ServiceBusSender pour la rubrique spécifique.
get_topic_sender(topic_name: str, **kwargs: Any) -> ServiceBusSender
Paramètres
- topic_name
- str
Chemin d’accès de la rubrique Service Bus spécifique à laquelle le client se connecte.
- client_identifier
- str
Identificateur basé sur une chaîne permettant d’identifier de manière unique l’expéditeur instance. Service Bus l’associera à certains messages d’erreur pour faciliter la corrélation des erreurs. S’il n’est pas spécifié, un ID unique est généré.
- socket_timeout
- float
Durée en secondes pendant laquelle le socket sous-jacent sur la connexion doit attendre lors de l’envoi et de la réception de données avant d’expirer. La valeur par défaut est 0,2 pour TransportType.Amqp et 1 pour TransportType.AmqpOverWebsocket. Si des erreurs de connexion se produisent en raison d’un délai d’attente d’écriture, une valeur supérieure à la valeur par défaut peut être transmise.
Retours
Expéditeur de rubrique.
Type de retour
Exemples
Créez une instance du ServiceBusSender à partir de ServiceBusClient.
import os
from azure.servicebus import ServiceBusClient
servicebus_connection_str = os.environ['SERVICEBUS_CONNECTION_STR']
topic_name = os.environ['SERVICEBUS_TOPIC_NAME']
servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
with servicebus_client:
topic_sender = servicebus_client.get_topic_sender(topic_name=topic_name)