def test_sb_client_incorrect_queue_conn_str(self, servicebus_queue_authorization_rule_connection_string, servicebus_queue, wrong_queue, **kwargs): client = ServiceBusClient.from_connection_string(servicebus_queue_authorization_rule_connection_string) with client: # Validate that the wrong queue with the right credentials fails. with pytest.raises(ServiceBusAuthenticationError): with client.get_queue_sender(wrong_queue.name) as sender: sender.send_messages(Message("test")) # But that the correct one works. with client.get_queue_sender(servicebus_queue.name) as sender: sender.send_messages(Message("test")) # Now do the same but with direct connstr initialization. with pytest.raises(ServiceBusAuthenticationError): with ServiceBusSender.from_connection_string( servicebus_queue_authorization_rule_connection_string, queue_name=wrong_queue.name, ) as sender: sender.send_messages(Message("test")) with ServiceBusSender.from_connection_string( servicebus_queue_authorization_rule_connection_string, queue_name=servicebus_queue.name, ) as sender: sender.send_messages(Message("test"))
def test_sb_client_incorrect_queue_conn_str( self, servicebus_queue_authorization_rule_connection_string, servicebus_queue, wrong_queue, **kwargs): client = ServiceBusClient.from_connection_string( servicebus_queue_authorization_rule_connection_string) with client: # Validate that the wrong sender/receiver queues with the right credentials fail. with pytest.raises(ValueError): with client.get_queue_sender(wrong_queue.name) as sender: sender.send_messages(ServiceBusMessage("test")) with pytest.raises(ValueError): with client.get_queue_receiver(wrong_queue.name) as receiver: messages = receiver.receive_messages(max_message_count=1, max_wait_time=1) # But that the correct ones work. with client.get_queue_sender(servicebus_queue.name) as sender: sender.send_messages(ServiceBusMessage("test")) with client.get_queue_receiver(servicebus_queue.name) as receiver: messages = receiver.receive_messages(max_message_count=1, max_wait_time=1) # Now do the same but with direct connstr initialization. with pytest.raises(ValueError): with ServiceBusSender._from_connection_string( servicebus_queue_authorization_rule_connection_string, queue_name=wrong_queue.name, ) as sender: sender.send_messages(ServiceBusMessage("test")) with pytest.raises(ValueError): with ServiceBusReceiver._from_connection_string( servicebus_queue_authorization_rule_connection_string, queue_name=wrong_queue.name, ) as receiver: messages = receiver.receive_messages(max_message_count=1, max_wait_time=1) with ServiceBusSender._from_connection_string( servicebus_queue_authorization_rule_connection_string, queue_name=servicebus_queue.name, ) as sender: sender.send_messages(ServiceBusMessage("test")) with ServiceBusReceiver._from_connection_string( servicebus_queue_authorization_rule_connection_string, queue_name=servicebus_queue.name, ) as receiver: messages = receiver.receive_messages(max_message_count=1, max_wait_time=1)
def example_create_servicebus_sender_sync(): servicebus_client = example_create_servicebus_client_sync() # [START create_servicebus_sender_from_conn_str_sync] import os from azure.servicebus import ServiceBusSender servicebus_connection_str = os.environ['SERVICE_BUS_CONNECTION_STR'] queue_name = os.environ['SERVICE_BUS_QUEUE_NAME'] queue_sender = ServiceBusSender.from_connection_string( conn_str=servicebus_connection_str, queue_name=queue_name ) # [END create_servicebus_sender_from_conn_str_sync] # [START create_servicebus_sender_sync] import os from azure.servicebus import ServiceBusSender, ServiceBusSharedKeyCredential fully_qualified_namespace = os.environ['SERVICE_BUS_FULLY_QUALIFIED_NAMESPACE'] shared_access_policy = os.environ['SERVICE_BUS_SAS_POLICY'] shared_access_key = os.environ['SERVICE_BUS_SAS_KEY'] queue_name = os.environ['SERVICE_BUS_QUEUE_NAME'] queue_sender = ServiceBusSender( fully_qualified_namespace=fully_qualified_namespace, credential=ServiceBusSharedKeyCredential( shared_access_policy, shared_access_key ), queue_name=queue_name ) # [END create_servicebus_sender_sync] # [START create_servicebus_sender_from_sb_client_sync] import os from azure.servicebus 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) with servicebus_client: queue_sender = servicebus_client.get_queue_sender(queue_name=queue_name) # [END create_servicebus_sender_from_sb_client_sync] # [START create_topic_sender_from_sb_client_sync] import os from azure.servicebus 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) with servicebus_client: topic_sender = servicebus_client.get_topic_sender(topic_name=topic_name) # [END create_topic_sender_from_sb_client_sync] return queue_sender
def send_message_to_queue(payload): queue_sender = ServiceBusSender.from_connection_string( conn_str=EQUINIX_INCOMING_QUEUE_CONNECTION_STRING, queue_name=EQUINIX_INCOMING_QUEUE) with queue_sender: message = Message(payload) queue_sender.send_messages(message)
def example_create_servicebus_sender_sync(): servicebus_client = example_create_servicebus_client_sync() # [START create_servicebus_sender_from_conn_str_sync] import os from azure.servicebus import ServiceBusSender servicebus_connection_str = os.environ['SERVICE_BUS_CONNECTION_STR'] queue_name = os.environ['SERVICE_BUS_QUEUE_NAME'] queue_sender = ServiceBusSender._from_connection_string( conn_str=servicebus_connection_str, queue_name=queue_name) # [END create_servicebus_sender_from_conn_str_sync] # [START create_servicebus_sender_from_sb_client_sync] import os from azure.servicebus 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) with servicebus_client: queue_sender = servicebus_client.get_queue_sender( queue_name=queue_name) # [END create_servicebus_sender_from_sb_client_sync] # [START create_topic_sender_from_sb_client_sync] import os from azure.servicebus 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) with servicebus_client: topic_sender = servicebus_client.get_topic_sender( topic_name=topic_name) # [END create_topic_sender_from_sb_client_sync] queue_sender = servicebus_client.get_queue_sender(queue_name=queue_name) return queue_sender
def send_batch_message(sender: ServiceBusSender, messages: List[str]): batch_message = sender.create_message_batch() for message in messages: batch_message.add_message(ServiceBusMessage(message)) sender.send_messages(batch_message)
def send_list_messages(sender: ServiceBusSender, messages: List[str]): list_messages = [ServiceBusMessage(message) for message in messages] sender.send_messages(list_messages) # type: ignore[arg-type]