ServiceBusSender Класс
Класс ServiceBusSender определяет высокоуровневый интерфейс для отправки сообщений в очередь или раздел Служебная шина Azure.
Чтобы создать экземпляр ServiceBusSender, get_<queue/topic>_sender
используйте метод ~azure.servicebus.aio.ServiceBusClient.
- Наследование
-
azure.servicebus.aio._base_handler_async.BaseHandlerServiceBusSenderazure.servicebus._servicebus_sender.SenderMixinServiceBusSender
Конструктор
ServiceBusSender(fully_qualified_namespace: str, credential: AsyncTokenCredential | AzureSasCredential | AzureNamedKeyCredential, *, queue_name: str | None = None, topic_name: str | None = None, **kwargs: Any)
Параметры
- fully_qualified_namespace
- str
Полное имя узла для пространства имен служебной шины. Формат пространства имен: .servicebus.windows.net.
- credential
- AsyncTokenCredential или AzureSasCredential или AzureNamedKeyCredential
Объект учетных данных, используемый для проверки подлинности, который реализует определенный интерфейс для получения маркеров. Он принимает объекты учетных данных, созданные библиотекой azure-identity, и объекты, реализующие метод *get_token(self, scopes) или также можно предоставить AzureSasCredential.
- queue_name
- str
Путь к определенной очереди служебной шины, к которому подключается клиент. Можно указать только один из queue_name или topic_name.
- topic_name
- str
Путь к определенному разделу служебной шины, к которому подключается клиент. Можно указать только один из queue_name или topic_name.
- logging_enable
- bool
Следует ли выводить журналы трассировки сети в средство ведения журнала. Значение по умолчанию — False.
- transport_type
- TransportType
Тип транспортного протокола, который будет использоваться для взаимодействия со службой служебной шины. Значение по умолчанию — TransportType.Amqp.
- http_proxy
- Dict
Параметры прокси-сервера HTTP. Это должен быть словарь со следующими ключами: "proxy_hostname" (значение str) и "proxy_port" (значение int). Кроме того, могут присутствовать следующие ключи: "имя пользователя", "пароль".
- user_agent
- str
Если этот параметр указан, он будет добавлен перед строкой встроенного агента пользователя.
- client_identifier
- str
Строковый идентификатор для уникальной идентификации экземпляра клиента. Служебная шина связывает ее с некоторыми сообщениями об ошибках, чтобы упростить корреляцию ошибок. Если значение не указано, будет создан уникальный идентификатор.
- socket_timeout
- float
Время в секундах, в течение времени ожидания базового сокета в подключении при отправке и получении данных до истечения времени ожидания. Значение по умолчанию — 0,2 для TransportType.Amqp и 1 для TransportType.AmqpOverWebsocket. Если возникают ошибки подключения из-за истечения времени ожидания записи, может потребоваться передать значение, превышающее значение по умолчанию.
Переменные
- fully_qualified_namespace
- str
Полное имя узла для пространства имен служебной шины. Формат пространства имен: .servicebus.windows.net.
- entity_name
- str
Имя сущности, к которому подключается клиент.
Методы
cancel_scheduled_messages |
Отмена одного или нескольких сообщений, которые ранее были запланированы и по-прежнему находятся в состоянии ожидания. |
close |
Закройте подключение обработчика. Если обработчик уже закрыт, эта операция не будет выполнять никаких действий. Можно передать необязательное исключение, указывающее, что обработчик был завершен из-за ошибки. |
create_message_batch |
Создайте объект ServiceBusMessageBatch с максимальным размером всего содержимого, ограниченного max_size_in_bytes. Max_size не должен превышать максимально допустимый размер сообщения, определенный службой. |
schedule_messages |
Отправка сообщения или нескольких сообщений, которые должны быть помещены в очередь в определенное время службой. Возвращает список порядковых номеров сообщений, помещенных в очередь. |
send_messages |
Отправляет сообщение и блокируется до получения подтверждения или истечения времени ожидания операции. Если был предоставлен список сообщений, пытается отправить их как один пакет, вызывая valueError , если они не могут поместиться в одном пакете. |
cancel_scheduled_messages
Отмена одного или нескольких сообщений, которые ранее были запланированы и по-прежнему находятся в состоянии ожидания.
async cancel_scheduled_messages(sequence_numbers: int | List[int], *, timeout: float | None = None, **kwargs: Any) -> None
Параметры
- timeout
- float
Общее время ожидания операции в секундах, включая все повторные попытки. Значение должно быть больше 0, если указано. Значение по умолчанию — None, что означает отсутствие времени ожидания.
Возвращаемый тип
Исключения
Примеры
Отмена сообщений, запланированных для отправки в будущем
async with servicebus_sender:
await servicebus_sender.cancel_scheduled_messages(sequence_nums)
close
Закройте подключение обработчика.
Если обработчик уже закрыт, эта операция не будет выполнять никаких действий. Можно передать необязательное исключение, указывающее, что обработчик был завершен из-за ошибки.
async close() -> None
Возвращаемый тип
Исключения
create_message_batch
Создайте объект ServiceBusMessageBatch с максимальным размером всего содержимого, ограниченного max_size_in_bytes. Max_size не должен превышать максимально допустимый размер сообщения, определенный службой.
async create_message_batch(max_size_in_bytes: int | None = None) -> ServiceBusMessageBatch
Параметры
Максимальный размер данных в байтах, которые может хранить объект ServiceBusMessageBatch. По умолчанию значение определяется уровнем служебной шины.
Возвращаемое значение
Объект ServiceBusMessageBatch
Возвращаемый тип
Исключения
Примеры
Создание объекта ServiceBusMessageBatch с ограниченным размером
async with servicebus_sender:
batch_message = await servicebus_sender.create_message_batch()
batch_message.add_message(ServiceBusMessage("Single message inside batch"))
schedule_messages
Отправка сообщения или нескольких сообщений, которые должны быть помещены в очередь в определенное время службой. Возвращает список порядковых номеров сообщений, помещенных в очередь.
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]
Параметры
- messages
- Union[ServiceBusMessage, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Сообщение или список сообщений для планирования.
- timeout
- float
Общее время ожидания операции в секундах, включая все повторные попытки. Значение должно быть больше 0, если указано. Значение по умолчанию — None, что означает отсутствие времени ожидания.
Возвращаемое значение
Порядковые номера сообщений, помещенных в очередь.
Возвращаемый тип
Исключения
Примеры
Планирование отправки сообщения в будущем
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
Отправляет сообщение и блокируется до получения подтверждения или истечения времени ожидания операции.
Если был предоставлен список сообщений, пытается отправить их как один пакет, вызывая valueError , если они не могут поместиться в одном пакете.
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
Параметры
- message
- Union[ServiceBusMessage, ServiceBusMessageBatch, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Сообщение Служебной шины для отправки.
Общее время ожидания операции в секундах, включая все повторные попытки. Значение должно быть больше 0, если указано. Значение по умолчанию — None, что означает отсутствие времени ожидания.
Возвращаемый тип
Исключения
Примеры
Отправить сообщение.
async with servicebus_sender:
message_send = ServiceBusMessage("Hello World")
await servicebus_sender.send_messages(message_send)
Атрибуты
client_identifier
Получите идентификатор клиента ServiceBusSender, связанный с экземпляром отправителя.
Возвращаемый тип
Azure SDK for Python
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по