azure의 service bus에 대해서 공부한 내용
요금제에 따라서 사용할 수 있는 기능이 나누어져 있는 것 같다.
기본을 선택하면 토픽은 사용할 수 없다고 한다.
토픽을 사용할 수 없다고 해서 표준 가격을 골랐는데 서비스 버스의 경우 기본 요금이 있다고 한다. 개인 사비를 사용하는거라서 살짝 쫄려서 가격을 확인해봤다.
https://azure.microsoft.com/en-us/pricing/details/service-bus/
위 사진에 자세히 나왔다. standard를 사용하는 경우 시간당 0.0135 달러가 부여되고, 하루에 0.324 달러, 한 달에 약 9.72 달러 정도 비용이 발생하는 것 같다. 일단은 테스트용이므로 standard로 만들었던 네임스페이스를 삭제해 후 다시 basic으로 생성하였다.
namespace
를 재생성 후
queue
를 하나 생성해 주었다.
testqueuepolicy 정책을 생성해 주어서 연결 문자열을 생성해 주었다.
연결 문자열을 활용하여 C#으로 큐에 메시지를 보내는 코드는 작성하였다.
using Azure.Messaging.ServiceBus;
Console.WriteLine("Hello, World!");
string connectionString = "**"; // 생성 한 문자열
string queueName = "**"; // 연결할 큐 이름
// create service bus client
ServiceBusClient serviceBusClient = new ServiceBusClient(connectionString);
// create service bus sender
ServiceBusSender serviceBusSender = serviceBusClient.CreateSender(queueName);
// send message using service bus sender
ServiceBusMessage serviceBusMessage = new ServiceBusMessage("Hello from C# and Visual Studio....");
await serviceBusSender.SendMessageAsync(serviceBusMessage);
Console.WriteLine("Message has been sent");
큐에 메시지가 잘 오는 걸 확인하였다.
basic 요금제를 선택하여 기본요금이 없으므로 마음 놓고 테스트해 볼 수 있을 것 같다. 나중에 토픽이 필요한 경우에 standard 요금제로 네임스페이스 추가하여 사용하면 될 것 같다. 추가로 azure function을 구축하여 service bus와의 연동을 테스트할 예정이다.