2012-12-13 2 views
2

이미 메시지가있는 서비스 버스가 있습니다. 현재 SqlFilter를 사용하여 구독을 만들고 있습니다. 필터는 (myProperty < x)라고 가정 해 봅니다.Azure Service Bus의 구독으로 이전에 중개 된 메시지를 수신 할 수 있습니까?

문제는 메시지가 이미 큐에있을 때까지 x가 무엇인지 알 수 없다는 것입니다. x에 대한 구체적인 값을 갖고 새 구독을 만들 때 (myProperty < 123) 대기열에 이미있는 메시지를 수신하는 데 사용할 수 없습니다.

가입을 신청하기 전에 대기열에 있던 메시지를 얻기 위해 가입을 플래그하는 방법이 있습니까? 버스 대신 테이블로 전환해야 할 것 같아요?

답변

0

메시지는 수신시 필터링되므로 새 구독으로 이전 메시지를 수신 할 수 없습니다. 테이블을 나중에 처리하려면 테이블을 유지하는 것이 가장 좋습니다.

편집 : SDK 버전 1.8을 사용하면 주제를 연결할 수 있으므로 구독에 대한 새로운 주제를 만들고 기존 주제의 메시지를 새 주제로 보낼 수 있습니다. 메시지가 중복 되더라도 주제/구독을 사용하여 문제를 해결할 수 있습니다. Azure SDK 1.8의 업데이트에 대한 자세한 내용은 this video을 참조하십시오.

관련 문제