ServiceBusSender Klass
Klassen ServiceBusSender definierar ett gränssnitt på hög nivå för att skicka meddelanden till Azure Service Bus kö eller ämne.
get_<queue/topic>_sender
Använd metoden ~azure.servicebus.ServiceBusClient för att skapa en ServiceBusSender-instans.
- Arv
-
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)
Parametrar
- fully_qualified_namespace
- str
Det fullständigt kvalificerade värdnamnet för Service Bus-namnområdet. Namnområdesformatet är: .servicebus.windows.net.
- credential
- TokenCredential eller AzureSasCredential eller AzureNamedKeyCredential
Det autentiseringsobjekt som används för autentisering som implementerar ett visst gränssnitt för att hämta token. Den accepterar autentiseringsobjekt som genereras av azure-identity-biblioteket och objekt som implementerar metoden *get_token(self, scopes) eller alternativt kan en AzureSasCredential också tillhandahållas.
- queue_name
- str
Sökvägen till en specifik Service Bus-kö som klienten ansluter till.
- topic_name
- str
Sökvägen till ett specifikt Service Bus-ämne som klienten ansluter till.
- logging_enable
- bool
Om nätverksspårningsloggar ska matas ut till loggarna. Standardvärdet är Falskt.
- transport_type
- TransportType
Den typ av transportprotokoll som ska användas för kommunikation med Service Bus-tjänsten. Standard är TransportType.Amqp.
- http_proxy
- Dict
HTTP-proxyinställningar. Detta måste vara en ordlista med följande nycklar: "proxy_hostname" (str-värde) och "proxy_port" (int-värde). Dessutom kan följande nycklar också finnas: "användarnamn", "lösenord".
- user_agent
- str
Om detta anges läggs detta till framför den inbyggda användaragentsträngen.
- client_identifier
- str
En strängbaserad identifierare som unikt identifierar klientinstansen. Service Bus associerar den med vissa felmeddelanden för enklare korrelation av fel. Om inget anges genereras ett unikt ID.
- socket_timeout
- float
Tiden i sekunder som den underliggande socketen på anslutningen ska vänta när du skickar och tar emot data innan tidsgränsen nås. Standardvärdet är 0.2 för TransportType.Amqp och 1 för TransportType.AmqpOverWebsocket. Om anslutningsfel uppstår på grund av skrivtidsutdelning kan ett större värde än standardvärdet behöva skickas in.
Variabler
- fully_qualified_namespace
- str
Det fullständigt kvalificerade värdnamnet för Service Bus-namnområdet. Namnområdesformatet är: .servicebus.windows.net.
- entity_name
- str
Namnet på entiteten som klienten ansluter till.
Metoder
cancel_scheduled_messages |
Avbryt ett eller flera meddelanden som tidigare har schemalagts och som fortfarande väntar. |
close |
Stäng hanterarlänkarna (och anslutningen om hanteraren använder en separat anslutning). Om hanteraren redan har stängts gör den här åtgärden ingenting. |
create_message_batch |
Skapa ett ServiceBusMessageBatch-objekt med den maximala storleken på allt innehåll som begränsas av max_size_in_bytes. Max_size får inte vara större än den maximala tillåtna meddelandestorleken som definieras av tjänsten. |
schedule_messages |
Skicka meddelande eller flera meddelanden som ska anges vid en viss tidpunkt. Returnerar en lista över sekvensnumren för de köade meddelandena. |
send_messages |
Skickar meddelande och block tills bekräftelsen tas emot eller åtgärden överskrider tidsgränsen. Om en lista över meddelanden har angetts försöker skicka dem som en enda batch och utlöser en ValueError om de inte får plats i en enda batch. |
cancel_scheduled_messages
Avbryt ett eller flera meddelanden som tidigare har schemalagts och som fortfarande väntar.
cancel_scheduled_messages(sequence_numbers: int | List[int], *, timeout: float | None = None, **kwargs: Any) -> None
Parametrar
- timeout
- float
Den totala tidsgränsen för åtgärden i sekunder inklusive alla återförsök. Värdet måste vara större än 0 om det anges. Standardvärdet är Ingen, vilket innebär ingen tidsgräns.
Returtyp
Undantag
Exempel
Avbryter meddelanden som är schemalagda att skickas i framtiden
with servicebus_sender:
servicebus_sender.cancel_scheduled_messages(sequence_nums)
close
Stäng hanterarlänkarna (och anslutningen om hanteraren använder en separat anslutning).
Om hanteraren redan har stängts gör den här åtgärden ingenting.
close() -> None
Returtyp
Undantag
create_message_batch
Skapa ett ServiceBusMessageBatch-objekt med den maximala storleken på allt innehåll som begränsas av max_size_in_bytes. Max_size får inte vara större än den maximala tillåtna meddelandestorleken som definieras av tjänsten.
create_message_batch(max_size_in_bytes: int | None = None) -> ServiceBusMessageBatch
Parametrar
Den maximala storleken på bytedata som ett ServiceBusMessageBatch-objekt kan innehålla. Som standard bestäms värdet av Service Bus-nivån.
Returer
Ett ServiceBusMessageBatch-objekt
Returtyp
Undantag
Exempel
Skapa ServiceBusMessageBatch-objekt inom begränsad storlek
with servicebus_sender:
batch_message = servicebus_sender.create_message_batch()
batch_message.add_message(ServiceBusMessage("Single message inside batch"))
schedule_messages
Skicka meddelande eller flera meddelanden som ska anges vid en viss tidpunkt. Returnerar en lista över sekvensnumren för de köade meddelandena.
schedule_messages(messages: MessageTypes, schedule_time_utc: datetime, *, timeout: float | None = None, **kwargs: Any) -> List[int]
Parametrar
- messages
- Union[ServiceBusMessage, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Meddelandet eller listan över meddelanden som ska schemaläggas.
- timeout
- float
Den totala tidsgränsen för åtgärden i sekunder inklusive alla återförsök. Värdet måste vara större än 0 om det anges. Standardvärdet är Ingen, vilket innebär ingen tidsgräns.
Returer
En lista över sekvensnumren för de köade meddelandena.
Returtyp
Undantag
Exempel
Schemalägga ett meddelande som ska skickas i framtiden
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
Skickar meddelande och block tills bekräftelsen tas emot eller åtgärden överskrider tidsgränsen.
Om en lista över meddelanden har angetts försöker skicka dem som en enda batch och utlöser en ValueError om de inte får plats i en enda batch.
send_messages(message: MessageTypes | ServiceBusMessageBatch, *, timeout: float | None = None, **kwargs: Any) -> None
Parametrar
- message
- Union[ServiceBusMessage, ServiceBusMessageBatch, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
ServiceBus-meddelandet som ska skickas.
Den totala tidsgränsen för åtgärden i sekunder inklusive alla återförsök. Värdet måste vara större än 0 om det anges. Standardvärdet är Ingen, vilket innebär ingen tidsgräns.
Returtyp
Undantag
Exempel
Skicka meddelande.
with servicebus_sender:
message_send = ServiceBusMessage("Hello World")
servicebus_sender.send_messages(message_send)
Attribut
client_identifier
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för