use azservicebus::{ServiceBusClient, ServiceBusClientOptions};
#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
let connection_string = std::env::var("SERVICE_BUS_CONNECTION_STRING")?;
let queue_name = std::env::var("SERVICE_BUS_QUEUE")?;
let mut client = ServiceBusClient::new_from_connection_string(
connection_string,
ServiceBusClientOptions::default(),
)
.await?;
let mut sender = client
.create_sender(&queue_name, Default::default())
.await?;
let mut receiver = client
.create_receiver_for_queue(queue_name, Default::default())
.await?;
sender.send_message("Hello World").await?;
let received = receiver.receive_message().await?;
receiver.complete_message(&received).await?;
let messages = vec!["Message 1", "Message 2", "Message 3"];
sender.send_messages(messages).await?;
let received = receiver.receive_messages(3).await?;
for message in received {
receiver.complete_message(&message).await?;
}
sender.dispose().await?;
receiver.dispose().await?;
client.dispose().await?;
Ok(())
}