ServiceBusSender Classe
La classe ServiceBusSender définit une interface de haut niveau pour l’envoi de messages à la file d’attente ou à la rubrique Azure Service Bus.
Utilisez la get_<queue/topic>_sender
méthode ~azure.servicebus.ServiceBusClient pour créer un instance ServiceBusSender.
- Héritage
-
azure.servicebus._base_handler.BaseHandlerServiceBusSenderazure.servicebus._servicebus_sender.SenderMixinServiceBusSender
Constructeur
ServiceBusSender(fully_qualified_namespace: str, credential: TokenCredential | AzureSasCredential | AzureNamedKeyCredential, *, queue_name: str | None = None, topic_name: str | None = None, **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.
- queue_name
- str
Chemin d’accès de la file d’attente Service Bus spécifique à laquelle le client se connecte.
- topic_name
- str
Chemin d’accès de la rubrique Service Bus spécifique à laquelle le client se connecte.
- 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.
- 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.
- client_identifier
- str
Identificateur basé sur des chaînes permettant d’identifier de manière unique le client 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.
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.
- entity_name
- str
Nom de l’entité à laquelle le client se connecte.
Méthodes
cancel_scheduled_messages |
Annulez un ou plusieurs messages qui ont déjà été planifiés et qui sont toujours en attente. |
close |
Fermez les liens du gestionnaire (et la connexion si le gestionnaire utilise une connexion distincte). Si le gestionnaire est déjà fermé, cette opération ne fera rien. |
create_message_batch |
Créez un objet ServiceBusMessageBatch dont la taille maximale de tout le contenu est limitée par max_size_in_bytes. La max_size ne doit pas être supérieure à la taille maximale autorisée des messages définie par le service. |
schedule_messages |
Envoyer un message ou plusieurs messages à mettre en file d’attente à un moment spécifique. Retourne une liste des numéros de séquence des messages mis en file d’attente. |
send_messages |
Envoie le message et bloque jusqu’à ce que l’accusé de réception soit reçu ou que l’opération expire. Si une liste de messages a été fournie, tente de les envoyer sous la forme d’un lot unique, en lançant un objet ValueError s’ils ne peuvent pas tenir dans un seul lot. |
cancel_scheduled_messages
Annulez un ou plusieurs messages qui ont déjà été planifiés et qui sont toujours en attente.
cancel_scheduled_messages(sequence_numbers: int | List[int], *, timeout: float | None = None, **kwargs: Any) -> None
Paramètres
- timeout
- float
Délai d’expiration total de l’opération en secondes, y compris toutes les nouvelles tentatives. La valeur doit être supérieure à 0 si elle est spécifiée. La valeur par défaut est None, c’est-à-dire aucun délai d’attente.
Type de retour
Exceptions
Exemples
Annulation des messages dont l’envoi est prévu à l’avenir
with servicebus_sender:
servicebus_sender.cancel_scheduled_messages(sequence_nums)
close
Fermez les liens du gestionnaire (et la connexion si le gestionnaire utilise une connexion distincte).
Si le gestionnaire est déjà fermé, cette opération ne fera rien.
close() -> None
Type de retour
Exceptions
create_message_batch
Créez un objet ServiceBusMessageBatch dont la taille maximale de tout le contenu est limitée par max_size_in_bytes. La max_size ne doit pas être supérieure à la taille maximale autorisée des messages définie par le service.
create_message_batch(max_size_in_bytes: int | None = None) -> ServiceBusMessageBatch
Paramètres
Taille maximale des données octets qu’un objet ServiceBusMessageBatch peut contenir. Par défaut, la valeur est déterminée par votre niveau Service Bus.
Retours
Objet ServiceBusMessageBatch
Type de retour
Exceptions
Exemples
Créer un objet ServiceBusMessageBatch de taille limitée
with servicebus_sender:
batch_message = servicebus_sender.create_message_batch()
batch_message.add_message(ServiceBusMessage("Single message inside batch"))
schedule_messages
Envoyer un message ou plusieurs messages à mettre en file d’attente à un moment spécifique. Retourne une liste des numéros de séquence des messages mis en file d’attente.
schedule_messages(messages: MessageTypes, schedule_time_utc: datetime, *, timeout: float | None = None, **kwargs: Any) -> List[int]
Paramètres
- messages
- Union[ServiceBusMessage, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Message ou liste de messages à planifier.
- schedule_time_utc
- datetime
Date et heure utc pour mettre en file d’attente les messages.
- timeout
- float
Délai d’expiration total de l’opération en secondes, y compris toutes les nouvelles tentatives. La valeur doit être supérieure à 0 si elle est spécifiée. La valeur par défaut est None, c’est-à-dire aucun délai d’attente.
Retours
Liste des numéros de séquence des messages en file d’attente.
Type de retour
Exceptions
Exemples
Planifier l’envoi d’un message à l’avenir
with servicebus_sender:
scheduled_time_utc = datetime.datetime.utcnow() + datetime.timedelta(seconds=30)
scheduled_messages = [ServiceBusMessage("Scheduled message") for _ in range(10)]
sequence_nums = servicebus_sender.schedule_messages(scheduled_messages, scheduled_time_utc)
send_messages
Envoie le message et bloque jusqu’à ce que l’accusé de réception soit reçu ou que l’opération expire.
Si une liste de messages a été fournie, tente de les envoyer sous la forme d’un lot unique, en lançant un objet ValueError s’ils ne peuvent pas tenir dans un seul lot.
send_messages(message: MessageTypes | ServiceBusMessageBatch, *, timeout: float | None = None, **kwargs: Any) -> None
Paramètres
- message
- Union[ServiceBusMessage, ServiceBusMessageBatch, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Message ServiceBus à envoyer.
Délai d’expiration total de l’opération en secondes, y compris toutes les nouvelles tentatives. La valeur doit être supérieure à 0 si elle est spécifiée. La valeur par défaut est None, c’est-à-dire aucun délai d’attente.
Type de retour
Exceptions
Exemples
Envoyer un message.
with servicebus_sender:
message_send = ServiceBusMessage("Hello World")
servicebus_sender.send_messages(message_send)
Attributs
client_identifier
Obtenez le client_identifier ServiceBusSender associé au instance de l’expéditeur.
Type de retour
Azure SDK for Python
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour