ServiceBusClient Klasa

Klasa ServiceBusClient definiuje interfejs wysokiego poziomu na potrzeby pobierania usług ServiceBusSender i ServiceBusReceiver.

Dziedziczenie
builtins.object
ServiceBusClient

Konstruktor

ServiceBusClient(fully_qualified_namespace: str, credential: Union[AsyncTokenCredential, azure.core.credentials.AzureSasCredential, azure.core.credentials.AzureNamedKeyCredential], **kwargs: Any)

Parametry

fully_qualified_namespace
str
Wymagane

W pełni kwalifikowana nazwa hosta dla przestrzeni nazw usługi Service Bus. Format przestrzeni nazw to: .servicebus.windows.net.

credential
AsyncTokenCredential lub AzureSasCredential lub AzureNamedKeyCredential
Wymagane

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.

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 , w którym przypadku jest używany port 5671. Jeśli port 5671 jest niedostępny/zablokowany w środowisku sieciowym, można użyć protokołu TransportType.AmqpOverWebsocket , który używa portu 443 do komunikacji.

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.

retry_total
int

Całkowita liczba prób ponownego wykonania operacji zakończonych niepowodzeniem w przypadku wystąpienia błędu. Wartość domyślna to 3.

retry_backoff_factor
float

Wewnętrzne wycofywanie funkcji delta w jednostce sekundy między ponawianiami prób. Wartość domyślna to 0,8.

retry_backoff_max
float

Maksymalny interwał wycofywania w jednostce sekundy. Wartość domyślna to 120.

Przykłady

Utwórz nowe wystąpienie klasy ServiceBusClient.


   import os
   from azure.identity.aio import DefaultAzureCredential
   from azure.servicebus.aio import ServiceBusClient
   fully_qualified_namespace = os.environ['SERVICE_BUS_FULLY_QUALIFIED_NAMESPACE']
   servicebus_client = ServiceBusClient(
       fully_qualified_namespace=fully_qualified_namespace,
       credential=DefaultAzureCredential()
   )

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.

Metody

close

Zamknij klienta ServiceBus. Wszystkie zduplikowane nadawcy, odbiorniki i połączenie bazowe zostaną zamknięte.

from_connection_string

Utwórz element ServiceBusClient na podstawie parametrów połączenia.

get_queue_receiver

Pobierz element ServiceBusReceiver dla określonej kolejki.

get_queue_sender

Pobierz element ServiceBusSender dla określonej kolejki.

get_subscription_receiver

Pobierz element ServiceBusReceiver dla określonej subskrypcji w temacie.

get_topic_sender

Pobierz usługę ServiceBusSender dla określonego tematu.

close

Zamknij klienta ServiceBus. Wszystkie zduplikowane nadawcy, odbiorniki i połączenie bazowe zostaną zamknięte.

async close() -> None

Zwraca

Brak

from_connection_string

Utwórz element ServiceBusClient na podstawie parametrów połączenia.

from_connection_string(conn_str: str, **kwargs: Any) -> azure.servicebus.aio._servicebus_client_async.ServiceBusClient

Parametry

conn_str
str
Wymagane

Parametry połączenia usługi Service Bus.

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 , w którym przypadku jest używany port 5671. Jeśli port 5671 jest niedostępny/zablokowany w środowisku sieciowym, można użyć protokołu TransportType.AmqpOverWebsocket , który używa portu 443 do komunikacji.

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.

retry_total
int

Całkowita liczba prób ponownego wykonania operacji zakończonych niepowodzeniem w przypadku wystąpienia błędu. Wartość domyślna to 3.

retry_backoff_factor
float

Wewnętrzne wycofywanie funkcji delta w jednostce sekundy między ponawianiami prób. Wartość domyślna to 0,8.

retry_backoff_max
float

Maksymalny interwał wycofywania w jednostce sekundy. Wartość domyślna to 120.

Typ zwracany

Przykłady

Utwórz nowe wystąpienie klasy ServiceBusClient na podstawie parametrów połączenia.


   import os
   from azure.servicebus.aio import ServiceBusClient
   servicebus_connection_str = os.environ['SERVICE_BUS_CONNECTION_STR']
   servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)

get_queue_receiver

Pobierz element ServiceBusReceiver dla określonej kolejki.

get_queue_receiver(queue_name: str, **kwargs: Any) -> azure.servicebus.aio._servicebus_receiver_async.ServiceBusReceiver

Parametry

queue_name
str
Wymagane

Ścieżka określonej kolejki usługi Service Bus, z którą nawiązuje połączenie klient.

session_id
<xref:Union>[str, <xref:azure.servicebus.NEXT_AVAILABLE_SESSION>]

Określona sesja, z której ma zostać odebrana. Należy to określić dla kolejki sesji. W przeciwnym razie musi to być wartość Brak. Aby odbierać komunikaty z następnej dostępnej sesji, ustaw tę wartość na ~azure.servicebus.NEXT_AVAILABLE_SESSION.

str]] sub_queue
<xref:Optional>[<xref:Union>[<xref:azure.servicebus.ServiceBusSubQueue,>

W przypadku określenia podzapytania tego odbiornika nawiąż połączenie. Obejmuje to kolejki DEAD_LETTER i TRANSFER_DEAD_LETTER, przechowuje komunikaty, których nie można dostarczyć do żadnego odbiorcy ani komunikatów, których nie można przetworzyć. Wartość domyślna to Brak, co oznacza nawiązanie połączenia z kolejką podstawową. Można przypisać wartości z wyliczenia ServiceBusSubQueue lub równoważnych wartości ciągów "deadletter" i "transferdeadletter".

receive_mode
<xref:Union>[ServiceBusReceiveMode, str]

Tryb pobierania komunikatów z jednostki. Dwie opcje to PEEK_LOCK i RECEIVE_AND_DELETE. Komunikaty odebrane z PEEK_LOCK muszą zostać rozliczone w danym okresie blokady, zanim zostaną usunięte z kolejki. Komunikaty odebrane z RECEIVE_AND_DELETE zostaną natychmiast usunięte z kolejki i nie można ich następnie odrzucić ani ponownie odebrać, jeśli klient nie przetworzy komunikatu. Tryb domyślny to PEEK_LOCK.

max_wait_time
<xref:Optional>[float]

Limit czasu w sekundach między odebranych komunikatów, po którym odbiornik automatycznie przestanie odbierać. Wartość domyślna to None, co oznacza brak limitu czasu.

auto_lock_renewer
<xref:Optional>[AutoLockRenewer]

Można podać ~azure.servicebus.aio.AutoLockRenewer, tak aby komunikaty były automatycznie rejestrowane po otrzymaniu. Jeśli odbiornik jest odbiornikiem sesji, będzie zamiast tego dotyczyć sesji.

prefetch_count
int

Maksymalna liczba komunikatów do buforowania z każdym żądaniem do usługi. To ustawienie dotyczy tylko zaawansowanego dostrajania wydajności. Zwiększenie tej wartości zwiększy wydajność przepływności komunikatów, ale zwiększy prawdopodobieństwo wygaśnięcia komunikatów, gdy będą buforowane, jeśli nie są przetwarzane wystarczająco szybko. Wartość domyślna to 0, co oznacza, że komunikaty będą odbierane z usługi i przetwarzane pojedynczo. W przypadku prefetch_count wartości 0 usługa ServiceBusReceiver.receive spróbuje buforować max_message_count (jeśli podano) w żądaniu do usługi.

Typ zwracany

Przykłady

Utwórz nowe wystąpienie elementu ServiceBusSender z klasy ServiceBusClient.


   import os
   from azure.servicebus.aio import ServiceBusClient
   servicebus_connection_str = os.environ['SERVICE_BUS_CONNECTION_STR']
   queue_name = os.environ['SERVICE_BUS_QUEUE_NAME']
   servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
   async with servicebus_client:
       queue_receiver = servicebus_client.get_queue_receiver(queue_name=queue_name)

get_queue_sender

Pobierz element ServiceBusSender dla określonej kolejki.

get_queue_sender(queue_name: str, **kwargs: Any) -> azure.servicebus.aio._servicebus_sender_async.ServiceBusSender

Parametry

queue_name
str
Wymagane

Ścieżka określonej kolejki usługi Service Bus, z którą nawiązuje połączenie klient.

Typ zwracany

Przykłady

Utwórz nowe wystąpienie klasy ServiceBusClient na podstawie parametrów połączenia.


   import os
   from azure.servicebus.aio import ServiceBusClient
   servicebus_connection_str = os.environ['SERVICE_BUS_CONNECTION_STR']
   queue_name = os.environ['SERVICE_BUS_QUEUE_NAME']
   servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
   async with servicebus_client:
       queue_sender = servicebus_client.get_queue_sender(queue_name=queue_name)

get_subscription_receiver

Pobierz element ServiceBusReceiver dla określonej subskrypcji w temacie.

get_subscription_receiver(topic_name: str, subscription_name: str, **kwargs: Any) -> azure.servicebus.aio._servicebus_receiver_async.ServiceBusReceiver

Parametry

topic_name
str
Wymagane

Nazwa określonego tematu usługi Service Bus, z którymi nawiązuje połączenie klient.

subscription_name
str
Wymagane

Nazwa określonej subskrypcji usługi Service Bus w ramach danego tematu usługi Service Bus.

session_id
<xref:Union>[str, <xref:azure.servicebus.NEXT_AVAILABLE_SESSION>]

Określona sesja, z której ma zostać odebrana. Należy to określić dla subskrypcji sesji. W przeciwnym razie musi to być wartość Brak. Aby odbierać komunikaty z następnej dostępnej sesji, ustaw tę wartość na ~azure.servicebus.NEXT_AVAILABLE_SESSION.

str]] sub_queue
<xref:Optional>[<xref:Union>[<xref:azure.servicebus.ServiceBusSubQueue,>

W przypadku określenia podzapytania tego odbiornika nawiąż połączenie. Obejmuje to kolejki DEAD_LETTER i TRANSFER_DEAD_LETTER, przechowuje komunikaty, których nie można dostarczyć do żadnego odbiorcy ani komunikatów, których nie można przetworzyć. Wartość domyślna to Brak, co oznacza nawiązanie połączenia z kolejką podstawową. Można przypisać wartości z wyliczenia ServiceBusSubQueue lub równoważnych wartości ciągów "deadletter" i "transferdeadletter".

receive_mode
<xref:Union>[ServiceBusReceiveMode, str]

Tryb pobierania komunikatów z jednostki. Dwie opcje to PEEK_LOCK i RECEIVE_AND_DELETE. Komunikaty odebrane z PEEK_LOCK muszą zostać rozliczone w danym okresie blokady, zanim zostaną usunięte z subskrypcji. Komunikaty odebrane za pomocą RECEIVE_AND_DELETE zostaną natychmiast usunięte z subskrypcji i nie mogą zostać później odrzucone lub odebrane ponownie, jeśli klient nie przetworzy komunikatu. Tryb domyślny to PEEK_LOCK.

max_wait_time
<xref:Optional>[float]

Limit czasu w sekundach między odebranych komunikatów, po którym odbiornik automatycznie przestanie odbierać. Wartość domyślna to None, co oznacza brak limitu czasu.

auto_lock_renewer
<xref:Optional>[AutoLockRenewer]

Można podać ~azure.servicebus.aio.AutoLockRenewer, tak aby komunikaty były automatycznie rejestrowane po otrzymaniu. Jeśli odbiornik jest odbiornikiem sesji, będzie zamiast tego dotyczyć sesji.

prefetch_count
int

Maksymalna liczba komunikatów do buforowania z każdym żądaniem do usługi. To ustawienie dotyczy tylko zaawansowanego dostrajania wydajności. Zwiększenie tej wartości zwiększy wydajność przepływności komunikatów, ale zwiększy prawdopodobieństwo wygaśnięcia komunikatów, gdy będą buforowane, jeśli nie są przetwarzane wystarczająco szybko. Wartość domyślna to 0, co oznacza, że komunikaty będą odbierane z usługi i przetwarzane pojedynczo. W przypadku prefetch_count wartości 0 usługa ServiceBusReceiver.receive spróbuje buforować max_message_count (jeśli podano) w żądaniu do usługi.

Typ zwracany

Przykłady

Utwórz nowe wystąpienie klasy ServiceBusReceiver z klasy ServiceBusClient.


   import os
   from azure.servicebus.aio import ServiceBusClient
   servicebus_connection_str = os.environ['SERVICE_BUS_CONNECTION_STR']
   topic_name = os.environ["SERVICE_BUS_TOPIC_NAME"]
   subscription_name = os.environ["SERVICE_BUS_SUBSCRIPTION_NAME"]
   servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
   async with servicebus_client:
       subscription_receiver = servicebus_client.get_subscription_receiver(
           topic_name=topic_name,
           subscription_name=subscription_name,
       )

get_topic_sender

Pobierz usługę ServiceBusSender dla określonego tematu.

get_topic_sender(topic_name: str, **kwargs: Any) -> azure.servicebus.aio._servicebus_sender_async.ServiceBusSender

Parametry

topic_name
str
Wymagane

Ścieżka określonego tematu usługi Service Bus, z którą nawiązuje połączenie klient.

Typ zwracany

Przykłady

Utwórz nowe wystąpienie elementu ServiceBusSender z klasy ServiceBusClient.


   import os
   from azure.servicebus.aio import ServiceBusClient
   servicebus_connection_str = os.environ['SERVICE_BUS_CONNECTION_STR']
   topic_name = os.environ['SERVICE_BUS_TOPIC_NAME']
   servicebus_client = ServiceBusClient.from_connection_string(conn_str=servicebus_connection_str)
   async with servicebus_client:
       topic_sender = servicebus_client.get_topic_sender(topic_name=topic_name)