ServiceBusSender Klasa
Klasa ServiceBusSender definiuje interfejs wysokiego poziomu do wysyłania komunikatów do kolejki lub tematu Azure Service Bus.
Użyj get_<queue/topic>_sender
metody ~azure.servicebus.ServiceBusClient, aby utworzyć wystąpienie usługi ServiceBusSender.
- Dziedziczenie
-
azure.servicebus._base_handler.BaseHandlerServiceBusSenderazure.servicebus._servicebus_sender.SenderMixinServiceBusSender
Konstruktor
ServiceBusSender(fully_qualified_namespace: str, credential: TokenCredential | AzureSasCredential | AzureNamedKeyCredential, *, queue_name: str | None = None, topic_name: str | None = None, **kwargs: Any)
Parametry
- fully_qualified_namespace
- str
W pełni kwalifikowana nazwa hosta dla przestrzeni nazw usługi Service Bus. Format przestrzeni nazw to: .servicebus.windows.net.
- credential
- TokenCredential lub AzureSasCredential lub AzureNamedKeyCredential
Obiekt poświadczeń używany do uwierzytelniania, który implementuje określony interfejs do pobierania tokenów. Akceptuje obiekty poświadczeń generowane przez bibliotekę azure-identity i obiekty, które implementują metodę *get_token(self, scopes) lub alternatywnie można podać obiekt AzureSasCredential.
- queue_name
- str
Ścieżka określonej kolejki usługi Service Bus, z którą nawiązuje połączenie klient.
- topic_name
- str
Ścieżka określonego tematu usługi Service Bus, z którą nawiązuje połączenie klient.
- logging_enable
- bool
Określa, czy dane wyjściowe dzienników śledzenia sieci do rejestratora. Wartość domyślna to False.
- transport_type
- TransportType
Typ protokołu transportowego, który będzie używany do komunikacji z usługą Service Bus. Wartość domyślna to TransportType.Amqp.
- http_proxy
- Dict
Ustawienia serwera proxy HTTP. Musi to być słownik z następującymi kluczami: "proxy_hostname" (wartość ciągu) i "proxy_port" (wartość int). Ponadto mogą istnieć następujące klucze: "nazwa użytkownika", "hasło".
- user_agent
- str
Jeśli zostanie określony, zostanie to dodane przed wbudowanym ciągiem agenta użytkownika.
- client_identifier
- str
Identyfikator oparty na ciągach umożliwiający unikatową identyfikację wystąpienia klienta. Usługa Service Bus skojarzy ją z niektórymi komunikatami o błędach, aby ułatwić korelację błędów. Jeśli nie zostanie określony, zostanie wygenerowany unikatowy identyfikator.
- socket_timeout
- float
Czas w sekundach oczekiwania bazowego gniazda na połączeniu podczas wysyłania i odbierania danych przed przekroczeniem limitu czasu. Wartość domyślna to 0,2 dla transportType.Amqp i 1 dla transportType.AmqpOverWebsocket. Jeśli występują błędy połączenia z powodu przekroczenia limitu czasu zapisu, może być konieczne przekazanie większej niż wartość domyślna.
Zmienne
- fully_qualified_namespace
- str
W pełni kwalifikowana nazwa hosta dla przestrzeni nazw usługi Service Bus. Format przestrzeni nazw to: .servicebus.windows.net.
- entity_name
- str
Nazwa jednostki, z którą nawiązuje połączenie klient.
Metody
cancel_scheduled_messages |
Anuluj co najmniej jeden komunikat, który został wcześniej zaplanowany i nadal oczekuje. |
close |
Zamknij łącza procedury obsługi (i połączenie, jeśli program obsługi używa oddzielnego połączenia). Jeśli procedura obsługi została już zamknięta, ta operacja nic nie zrobi. |
create_message_batch |
Utwórz obiekt ServiceBusMessageBatch z maksymalnym rozmiarem całej zawartości ograniczanej przez max_size_in_bytes. Max_size nie powinna być większa niż maksymalny dozwolony rozmiar komunikatu zdefiniowany przez usługę. |
schedule_messages |
Wyślij wiadomość lub wiele komunikatów do kolejkowania w określonym czasie. Zwraca listę numerów sekwencji w kolejce komunikatów. |
send_messages |
Wysyła komunikat i blokuje do momentu odebrania potwierdzenia lub upłynął limit czasu operacji. Jeśli podano listę komunikatów, próbuje wysłać je jako pojedynczą partię, zgłaszając błąd ValueError , jeśli nie mogą mieścić się w jednej partii. |
cancel_scheduled_messages
Anuluj co najmniej jeden komunikat, który został wcześniej zaplanowany i nadal oczekuje.
cancel_scheduled_messages(sequence_numbers: int | List[int], *, timeout: float | None = None, **kwargs: Any) -> None
Parametry
- timeout
- float
Łączny limit czasu operacji w sekundach, łącznie ze wszystkimi ponownych próbami. Wartość musi być większa niż 0, jeśli zostanie określona. Wartość domyślna to None, co oznacza brak limitu czasu.
Typ zwracany
Wyjątki
Przykłady
Anulowanie wiadomości zaplanowanych do wysłania w przyszłości
with servicebus_sender:
servicebus_sender.cancel_scheduled_messages(sequence_nums)
close
Zamknij łącza procedury obsługi (i połączenie, jeśli program obsługi używa oddzielnego połączenia).
Jeśli procedura obsługi została już zamknięta, ta operacja nic nie zrobi.
close() -> None
Typ zwracany
Wyjątki
create_message_batch
Utwórz obiekt ServiceBusMessageBatch z maksymalnym rozmiarem całej zawartości ograniczanej przez max_size_in_bytes. Max_size nie powinna być większa niż maksymalny dozwolony rozmiar komunikatu zdefiniowany przez usługę.
create_message_batch(max_size_in_bytes: int | None = None) -> ServiceBusMessageBatch
Parametry
Maksymalny rozmiar danych bajtów, które może przechowywać obiekt ServiceBusMessageBatch. Domyślnie wartość jest określana przez warstwę usługi Service Bus.
Zwraca
Obiekt ServiceBusMessageBatch
Typ zwracany
Wyjątki
Przykłady
Tworzenie obiektu ServiceBusMessageBatch w ograniczonym rozmiarze
with servicebus_sender:
batch_message = servicebus_sender.create_message_batch()
batch_message.add_message(ServiceBusMessage("Single message inside batch"))
schedule_messages
Wyślij wiadomość lub wiele komunikatów do kolejkowania w określonym czasie. Zwraca listę numerów sekwencji w kolejce komunikatów.
schedule_messages(messages: MessageTypes, schedule_time_utc: datetime, *, timeout: float | None = None, **kwargs: Any) -> List[int]
Parametry
- messages
- Union[ServiceBusMessage, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Komunikat lub lista komunikatów do zaplanowana.
- timeout
- float
Łączny limit czasu operacji w sekundach, łącznie ze wszystkimi ponownych próbami. Wartość musi być większa niż 0, jeśli zostanie określona. Wartość domyślna to None, co oznacza brak limitu czasu.
Zwraca
Lista numerów sekwencji w kolejce komunikatów.
Typ zwracany
Wyjątki
Przykłady
Planowanie wysyłania wiadomości w przyszłości
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
Wysyła komunikat i blokuje do momentu odebrania potwierdzenia lub upłynął limit czasu operacji.
Jeśli podano listę komunikatów, próbuje wysłać je jako pojedynczą partię, zgłaszając błąd ValueError , jeśli nie mogą mieścić się w jednej partii.
send_messages(message: MessageTypes | ServiceBusMessageBatch, *, timeout: float | None = None, **kwargs: Any) -> None
Parametry
- message
- Union[ServiceBusMessage, ServiceBusMessageBatch, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Komunikat ServiceBus do wysłania.
Łączny limit czasu operacji w sekundach, łącznie ze wszystkimi ponownych próbami. Wartość musi być większa niż 0, jeśli zostanie określona. Wartość domyślna to None, co oznacza brak limitu czasu.
Typ zwracany
Wyjątki
Przykłady
Wyślij wiadomość.
with servicebus_sender:
message_send = ServiceBusMessage("Hello World")
servicebus_sender.send_messages(message_send)
Atrybuty
client_identifier
Azure SDK for Python
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla