소개
service-bus-tui는 MonsieurTib이 개발한 Azure Service Bus용 터미널 기반 탐색기입니다. Go 언어로 작성되었으며, Azure 구독의 Service Bus 네임스페이스를 탐색하고 메시지를 조회, 재전송, 전송할 수 있는 기능을 제공합니다. 이 도구는 Azure CLI, 서비스 주체, 연결 문자열, 에뮬레이터 등 다양한 인증 방식을 지원합니다.
상세정보
인증 및 연결
Azure CLI 기존 세션 사용, 인터랙티브 브라우저 인증, 서비스 주체(클라이언트 ID/시크릿), 연결 문자열, 그리고 로컬 에뮬레이터 연결을 지원합니다. 연결 문자열 사용 시 저장 여부를 선택할 수 있으며, 저장된 연결 목록은 빠른 재연결과 삭제가 가능합니다.
네임스페이스 및 리소스 탐색
Azure 구독 내 모든 Service Bus 네임스페이스를 자동으로 목록화하고, 네임스페이스 이름, 구독 ID, 리소스 그룹을 표시합니다. 트리 기반 네비게이션을 통해 토픽과 큐를 확장해 구독과 데드레터 큐(DLQ) 메시지를 볼 수 있습니다.
메시지 조회 및 관리
활성 메시지와 데드레터 큐 메시지를 페이지네이션(100개/페이지)으로 미리볼 수 있으며, 시퀀스 번호, 메시지 ID, 제목, 엔큐 시간 및 본문 미리보기를 표 형태로 표시합니다. JSON 형식으로 본문을 포맷팅해 볼 수 있고, 메시지 본문을 클립보드에 복사할 수 있습니다(ctrl+y).
메시지 재전송 및 전송
선택된 메시지를 원래의 토픽 또는 큐로 재전송할 수 있으며, 선택되지 않은 경우 현재 하이라이트된 행을 대상으로 합니다. 단일 메시지 재전송 시 원본 내용을 미리 채운 편집 폼이 열리고, 다중 선택도 가능합니다. 메시지 ID 유지 또는 새로 생성 옵션과 실시간 진행률 표시가 제공됩니다. 새 메시지 전송도 앱 내 모달 폼을 통해 subject, 콘텐츠 타입, 본문을 구성해 보낼 수 있습니다.
키보드 기반 네비게이션
상하 이동: up/down 또는 j/k
확장/축소: left/right 또는 h/l 또는 enter
네임스페이스 트리와 메시지 창 전환: tab
페이지 이동: ctrl+n(다음), ctrl+p(이전)
메시지 본문 복사: ctrl+y
메시지 전송 모드 열기: S
메시지 선택/해제: space
선택된 메시지 재전송: R
이전 화면으로 이동: esc
앱 종료: ctrl+c
다운로드·설치 방법
Windows 사용자는 Winget 또는 Chocolatey를 통해 간단히 설치할 수 있습니다. Winget을 사용할 경우 다음 명령을 PowerShell에서 실행합니다:
winget install MonsieurTib.service-bus-tui
Chocolatey를 사용할 경우 다음 명령을 실행합니다:
choco install service-bus-tui
또한 Go 환경이 있다면 소스에서 직접 빌드할 수 있습니다:
git clone https://github.com/MonsieurTib/service-bus-tui.git
cd service-bus-tui
go build -o service-bus-tui .
설치 후 실행은 단순히 다음 명령으로 시작합니다:
service-bus-tui
실행 후 인증 방법을 선택하고 네임스페이스를 탐색하면 사용을 시작할 수 있습니다. 연결 문자열을 사용할 경우, 재사용을 위해 저장할지 여부를 묻는 프롬프트가 나타납니다.
이런 경우에 유용합니다
Azure Service Bus를 사용하는 개발자나 운영 담당자가 터미널 환경에서 메시지 큐의 상태를 빠르게 점검하고, 데드레터 큐에 쌓인 메시지를 재처리하거나, 새로운 테스트 메시지를 전송해야 할 때 유용합니다. GUI 도구 없이도 SSH 접속만으로 원격 서버에서 Service Bus 리소스를 조작할 수 있어, 자동화 스크립트나 서버 관리 작업에 적합합니다.
제한 사항·확인 사항
총 메시지 수는 SDK 버그로 인해 사용할 수 없으며, 페이지 표시기에 ‘?’가 표시되지만 페이지네이션 기능 자체는 정상적으로 작동합니다. 이는 알려진 제한 사항이며, 기능 사용에는 영향을 주지 않습니다.
시스템 요구사항
- Go 1.24+
- Azure 구독에 Service Bus 네임스페이스 (또는 로컬 에뮬레이터)
- Azure CLI 인증 사용 시: `az login` 사전 완료 필요
- 에뮬레이터 사용 시: Docker 및 Azure Service Bus 에뮬레이터 실행 필요


