ServiceBusSender Klas
De ServiceBusSender-klasse definieert een interface op hoog niveau voor het verzenden van berichten naar de Azure Service Bus wachtrij of onderwerp.
Gebruik de get_<queue/topic>_sender
methode ~azure.servicebus.ServiceBusClient om een ServiceBusSender-exemplaar te maken.
- Overname
-
azure.servicebus._base_handler.BaseHandlerServiceBusSenderazure.servicebus._servicebus_sender.SenderMixinServiceBusSender
Constructor
ServiceBusSender(fully_qualified_namespace: str, credential: TokenCredential | AzureSasCredential | AzureNamedKeyCredential, *, queue_name: str | None = None, topic_name: str | None = None, **kwargs: Any)
Parameters
- fully_qualified_namespace
- str
De volledig gekwalificeerde hostnaam voor de Service Bus-naamruimte. De indeling van de naamruimte is : .servicebus.windows.net.
- credential
- TokenCredential of AzureSasCredential of AzureNamedKeyCredential
Het referentieobject dat wordt gebruikt voor verificatie, waarmee een bepaalde interface wordt geïmplementeerd voor het ophalen van tokens. Het accepteert referentieobjecten die zijn gegenereerd door de azure-identity-bibliotheek en objecten die de methode *get_token (zelf, bereiken) implementeren, of een AzureSasCredential kunnen ook worden opgegeven.
- queue_name
- str
Het pad van een specifieke Service Bus-wachtrij waar de client verbinding mee maakt.
- topic_name
- str
Het pad naar een specifiek Service Bus-onderwerp waar de client verbinding mee maakt.
- logging_enable
- bool
Of netwerktraceringslogboeken moeten worden uitgevoerd naar de logboekregistratie. De standaardwaarde is False.
- transport_type
- TransportType
Het type transportprotocol dat wordt gebruikt voor de communicatie met de Service Bus-service. De standaardwaarde is TransportType.Amqp.
- http_proxy
- Dict
HTTP-proxyinstellingen. Dit moet een woordenlijst zijn met de volgende sleutels: 'proxy_hostname' (str-waarde) en 'proxy_port' (int-waarde). Daarnaast kunnen de volgende sleutels ook aanwezig zijn: 'gebruikersnaam', 'wachtwoord'.
- user_agent
- str
Indien opgegeven, wordt deze toegevoegd vóór de ingebouwde tekenreeks van de gebruikersagent.
- client_identifier
- str
Een id op basis van tekenreeksen om het clientexemplaren uniek te identificeren. Service Bus koppelt deze aan een aantal foutberichten voor een eenvoudigere correlatie van fouten. Als u dit niet opgeeft, wordt er een unieke id gegenereerd.
- socket_timeout
- float
De tijd in seconden dat de onderliggende socket op de verbinding moet wachten bij het verzenden en ontvangen van gegevens voordat er een time-out optreedt. De standaardwaarde is 0,2 voor TransportType.Amqp en 1 voor TransportType.AmqpOverWebsocket. Als er verbindingsfouten optreden vanwege een time-out van schrijfbewerkingen, moet mogelijk een grotere waarde dan de standaardwaarde worden doorgegeven.
Variabelen
- fully_qualified_namespace
- str
De volledig gekwalificeerde hostnaam voor de Service Bus-naamruimte. De indeling van de naamruimte is : .servicebus.windows.net.
- entity_name
- str
De naam van de entiteit waarmee de client verbinding maakt.
Methoden
cancel_scheduled_messages |
Annuleer een of meer berichten die eerder zijn gepland en nog in behandeling zijn. |
close |
Sluit de handlerkoppelingen (en de verbinding als de handler een afzonderlijke verbinding gebruikt). Als de handler al is gesloten, doet deze bewerking niets. |
create_message_batch |
Maak een ServiceBusMessageBatch-object met de maximale grootte van alle inhoud die wordt beperkt door max_size_in_bytes. De max_size mag niet groter zijn dan de maximaal toegestane berichtgrootte die door de service is gedefinieerd. |
schedule_messages |
Verzend een bericht of meerdere berichten die op een specifiek tijdstip moeten worden verzonden. Retourneert een lijst met de volgnummers van de enqueued berichten. |
send_messages |
Hiermee wordt een bericht verzonden en geblokkeerd totdat de bevestiging is ontvangen of een time-out optreedt voor de bewerking. Als er een lijst met berichten is opgegeven, probeert u deze als één batch te verzenden, waarbij een ValueError wordt gegenereerd als ze niet in één batch passen. |
cancel_scheduled_messages
Annuleer een of meer berichten die eerder zijn gepland en nog in behandeling zijn.
cancel_scheduled_messages(sequence_numbers: int | List[int], *, timeout: float | None = None, **kwargs: Any) -> None
Parameters
- timeout
- float
De totale time-out van de bewerking in seconden, inclusief alle nieuwe pogingen. De waarde moet groter zijn dan 0 indien opgegeven. De standaardwaarde is Geen, wat betekent dat er geen time-out is.
Retourtype
Uitzonderingen
Voorbeelden
Berichten annuleren die in de toekomst moeten worden verzonden
with servicebus_sender:
servicebus_sender.cancel_scheduled_messages(sequence_nums)
close
Sluit de handlerkoppelingen (en de verbinding als de handler een afzonderlijke verbinding gebruikt).
Als de handler al is gesloten, doet deze bewerking niets.
close() -> None
Retourtype
Uitzonderingen
create_message_batch
Maak een ServiceBusMessageBatch-object met de maximale grootte van alle inhoud die wordt beperkt door max_size_in_bytes. De max_size mag niet groter zijn dan de maximaal toegestane berichtgrootte die door de service is gedefinieerd.
create_message_batch(max_size_in_bytes: int | None = None) -> ServiceBusMessageBatch
Parameters
De maximale grootte van bytesgegevens die een ServiceBusMessageBatch-object kan bevatten. De waarde wordt standaard bepaald door uw Service Bus-laag.
Retouren
Een ServiceBusMessageBatch-object
Retourtype
Uitzonderingen
Voorbeelden
ServiceBusMessageBatch-object binnen een beperkte grootte maken
with servicebus_sender:
batch_message = servicebus_sender.create_message_batch()
batch_message.add_message(ServiceBusMessage("Single message inside batch"))
schedule_messages
Verzend een bericht of meerdere berichten die op een specifiek tijdstip moeten worden verzonden. Retourneert een lijst met de volgnummers van de enqueued berichten.
schedule_messages(messages: MessageTypes, schedule_time_utc: datetime, *, timeout: float | None = None, **kwargs: Any) -> List[int]
Parameters
- messages
- Union[ServiceBusMessage, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Het bericht of de lijst met berichten die u wilt plannen.
- schedule_time_utc
- datetime
De utc-datum en -tijd voor het in de wachtrij plaatsen van de berichten.
- timeout
- float
De totale time-out van de bewerking in seconden, inclusief alle nieuwe pogingen. De waarde moet groter zijn dan 0 indien opgegeven. De standaardwaarde is Geen, wat betekent dat er geen time-out is.
Retouren
Een lijst met de volgnummers van de enqueued berichten.
Retourtype
Uitzonderingen
Voorbeelden
Een bericht plannen dat in de toekomst wordt verzonden
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
Hiermee wordt een bericht verzonden en geblokkeerd totdat de bevestiging is ontvangen of een time-out optreedt voor de bewerking.
Als er een lijst met berichten is opgegeven, probeert u deze als één batch te verzenden, waarbij een ValueError wordt gegenereerd als ze niet in één batch passen.
send_messages(message: MessageTypes | ServiceBusMessageBatch, *, timeout: float | None = None, **kwargs: Any) -> None
Parameters
- message
- Union[ServiceBusMessage, ServiceBusMessageBatch, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Het ServiceBus-bericht dat moet worden verzonden.
De totale time-out van de bewerking in seconden, inclusief alle nieuwe pogingen. De waarde moet groter zijn dan 0 indien opgegeven. De standaardwaarde is Geen, wat betekent dat er geen time-out is.
Retourtype
Uitzonderingen
Voorbeelden
Bericht verzenden.
with servicebus_sender:
message_send = ServiceBusMessage("Hello World")
servicebus_sender.send_messages(message_send)
Kenmerken
client_identifier
Haal de ServiceBusSender-client_identifier op die is gekoppeld aan het afzenderexemplaren.
Retourtype
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor