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.aio.ServiceBusClient för att skapa en ServiceBusSender-instans.
- Arv
-
azure.servicebus.aio._base_handler_async.BaseHandlerServiceBusSenderazure.servicebus._servicebus_sender.SenderMixinServiceBusSender
Konstruktor
ServiceBusSender(fully_qualified_namespace: str, credential: AsyncTokenCredential | 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
- AsyncTokenCredential 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. Endast en av queue_name eller topic_name kan anges.
- topic_name
- str
Sökvägen till ett specifikt Service Bus-ämne som klienten ansluter till. Endast en av queue_name eller topic_name kan anges.
- 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 hanteringsanslutningen. Om hanteraren redan har stängts gör den här åtgärden ingenting. Ett valfritt undantag kan skickas in för att indikera att hanteraren stängdes av på grund av ett fel. |
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 ställas in vid en viss tidpunkt av tjänsten. 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.
async 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
async with servicebus_sender:
await servicebus_sender.cancel_scheduled_messages(sequence_nums)
close
Stäng hanteringsanslutningen.
Om hanteraren redan har stängts gör den här åtgärden ingenting. Ett valfritt undantag kan skickas in för att indikera att hanteraren stängdes av på grund av ett fel.
async 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.
async 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
ServiceBusMessageBatch-objekt
Returtyp
Undantag
Exempel
Skapa ServiceBusMessageBatch-objekt inom begränsad storlek
async with servicebus_sender:
batch_message = await servicebus_sender.create_message_batch()
batch_message.add_message(ServiceBusMessage("Single message inside batch"))
schedule_messages
Skicka meddelande eller flera meddelanden som ska ställas in vid en viss tidpunkt av tjänsten. Returnerar en lista över sekvensnumren för de köade meddelandena.
async schedule_messages(messages: Mapping[str, Any] | ServiceBusMessage | AmqpAnnotatedMessage | Iterable[Mapping[str, Any]] | Iterable[ServiceBusMessage] | Iterable[AmqpAnnotatedMessage], 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
Sekvensnumren för de köade meddelandena.
Returtyp
Undantag
Exempel
Schemalägga ett meddelande som ska skickas i framtiden
async with servicebus_sender:
scheduled_time_utc = datetime.datetime.utcnow() + datetime.timedelta(seconds=30)
scheduled_messages = [ServiceBusMessage("Scheduled message") for _ in range(10)]
sequence_nums = await 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.
async send_messages(message: Mapping[str, Any] | ServiceBusMessage | AmqpAnnotatedMessage | Iterable[Mapping[str, Any]] | Iterable[ServiceBusMessage] | Iterable[AmqpAnnotatedMessage] | 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.
async with servicebus_sender:
message_send = ServiceBusMessage("Hello World")
await 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