From b906299f7f46a5f29114c3845968fbba1e4d315a Mon Sep 17 00:00:00 2001 From: Morelle Date: Mon, 5 Jan 2026 12:39:24 +0100 Subject: [PATCH] Implement set_session_state action --- .../bindings/servicebus/serviceBusMessageActions.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/azurefunctions-extensions-bindings-servicebus/azurefunctions/extensions/bindings/servicebus/serviceBusMessageActions.py b/azurefunctions-extensions-bindings-servicebus/azurefunctions/extensions/bindings/servicebus/serviceBusMessageActions.py index 861170f..5942dba 100644 --- a/azurefunctions-extensions-bindings-servicebus/azurefunctions/extensions/bindings/servicebus/serviceBusMessageActions.py +++ b/azurefunctions-extensions-bindings-servicebus/azurefunctions/extensions/bindings/servicebus/serviceBusMessageActions.py @@ -12,6 +12,7 @@ CompleteRequest, DeadletterRequest, DeferRequest, + GetSessionStateRequest, ReleaseSessionRequest, RenewMessageLockRequest, RenewSessionLockRequest, @@ -135,6 +136,16 @@ def renew_message_lock(self, message) -> None: except Exception as e: raise SettlementError("renew_message_lock", f"Failed to renew lock for {locktoken}", e) + + def get_session_state(self, session_id: str) -> bytes: + try: + request = GetSessionStateRequest() + request.sessionId = session_id + response = self._client.GetSessionState(request) + return response.sessionState + except Exception as e: + raise SettlementError("get_session_state", + f"Failed to get state for session {session_id}", e) def set_session_state(self, session_id: str, session_state: bytes) -> None: try: