| 
														 | 
														 | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														from collections.abc import Mapping | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														import boto3 | 
														 | 
														 | 
														import boto3 | 
													
													
												
													
														 | 
														 | 
														from botocore.config import Config | 
														 | 
														 | 
														from botocore.config import Config | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														from core.model_runtime.errors.invoke import InvokeBadRequestError | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														def get_bedrock_client(service_name: str, credentials: Mapping[str, str]): | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    region_name = credentials.get("aws_region") | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    if not region_name: | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														        raise InvokeBadRequestError("aws_region is required") | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    client_config = Config(region_name=region_name) | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    aws_access_key_id = credentials.get("aws_access_key_id") | 
													
													
												
													
														 | 
														 | 
														 | 
														 | 
														 | 
														    aws_secret_access_key = credentials.get("aws_secret_access_key") | 
													
													
												
													
														 | 
														 | 
														
  | 
														 | 
														 | 
														
  | 
													
													
												
													
														 | 
														 | 
														def get_bedrock_client(service_name, credentials=None): | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    client_config = Config(region_name=credentials["aws_region"]) | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    aws_access_key_id = credentials["aws_access_key_id"] | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    aws_secret_access_key = credentials["aws_secret_access_key"] | 
														 | 
														 | 
														 | 
													
													
												
													
														 | 
														 | 
														    if aws_access_key_id and aws_secret_access_key: | 
														 | 
														 | 
														    if aws_access_key_id and aws_secret_access_key: | 
													
													
												
													
														 | 
														 | 
														        # use aksk to call bedrock | 
														 | 
														 | 
														        # use aksk to call bedrock | 
													
													
												
													
														 | 
														 | 
														        client = boto3.client( | 
														 | 
														 | 
														        client = boto3.client( |