fix(bedrock): restrict direct ingestion routing to put

Signed-off-by: Cookie <pon05114@naver.com>
This commit is contained in:
Cookie 2026-08-14 01:32:55 +09:00
parent 2c049bdb51
commit bfa01f7130
2 changed files with 13 additions and 1 deletions

View file

@ -1014,7 +1014,7 @@ async def bedrock_proxy_route(
raise ImportError("Missing boto3 to call bedrock. Run 'pip install boto3'.")
aws_region_name: Final = litellm.utils.get_secret(secret_name="AWS_REGION_NAME")
if _is_bedrock_agent_control_plane_route(endpoint=endpoint):
if request.method == "PUT" and _is_bedrock_agent_control_plane_route(endpoint=endpoint):
base_target_url: Final = f"https://bedrock-agent.{aws_region_name}.amazonaws.com"
elif _is_bedrock_agent_runtime_route(endpoint=endpoint): # handle bedrock agents
base_target_url: Final = f"https://bedrock-agent-runtime.{aws_region_name}.amazonaws.com"

View file

@ -502,6 +502,18 @@ def test_is_bedrock_agent_control_plane_route():
"PUT",
"https://bedrock-agent.ap-northeast-2.amazonaws.com/knowledgebases/kb-123/datasources/ds-456/documents",
),
(
"knowledgebases/kb-123/datasources/ds-456/documents",
"POST",
"https://bedrock-agent-runtime.ap-northeast-2.amazonaws.com/"
"knowledgebases/kb-123/datasources/ds-456/documents",
),
(
"knowledgebases/kb-123/datasources/ds-456/documents",
"DELETE",
"https://bedrock-agent-runtime.ap-northeast-2.amazonaws.com/"
"knowledgebases/kb-123/datasources/ds-456/documents",
),
),
)
async def test_bedrock_agent_route_target_and_sigv4_method(