From 12e779de37dcb20991cccfa666ddd72740b99fa2 Mon Sep 17 00:00:00 2001 From: Sanjana Sekar Date: Wed, 17 Dec 2025 14:48:44 -0800 Subject: [PATCH] Add requestId logging to BedrockModel - Add INFO level logging for Bedrock converse and converse_stream requestIds - Use safe dictionary access for ResponseMetadata and RequestId - Log format: 'Bedrock converse[_stream] requestId: {request_id}' - Implements bedrock-request-id-logging spec requirements --- src/strands/models/bedrock.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/strands/models/bedrock.py b/src/strands/models/bedrock.py index 4a7c81672..09a9fcbbb 100644 --- a/src/strands/models/bedrock.py +++ b/src/strands/models/bedrock.py @@ -681,6 +681,8 @@ def _stream( logger.debug("got response from model") if streaming: response = self.client.converse_stream(**request) + request_id = response.get('ResponseMetadata', {}).get('RequestId') + logger.info(f"Bedrock converse_stream requestId: {request_id}") # Track tool use events to fix stopReason for streaming responses has_tool_use = False for chunk in response["stream"]: @@ -715,6 +717,8 @@ def _stream( else: response = self.client.converse(**request) + request_id = response.get('ResponseMetadata', {}).get('RequestId') + logger.info(f"Bedrock converse requestId: {request_id}") for event in self._convert_non_streaming_to_streaming(response): callback(event)