code: def _request(self, body):
      try:
          response = self.get_bedrock_client().invoke_model(
              body=json.dumps(body).encode(),
              modelId=self.config.model.name,
              # defaults
              # save=False,
              accept="application/json",
              contentType="application/json",
          )
          return json.loads(response.get("body").read())
  
      # TODO work though botocore.exceptions to make this catchable.
      # except botocore.exceptions.ValidationException as e:
      #     raise HTTPException(status_code=422, detail=str(e)) from e
  
      except botocore.exceptions.ReadTimeoutError as e:
          raise HTTPException(status_code=408) from e
  
imports: import json
  import time
  from enum import Enum
  import boto3
  import botocore.config
  import botocore.exceptions
  from fastapi import HTTPException
  from fastapi.encoders import jsonable_encoder
  from mlflow.gateway.config import AWSBedrockConfig, AWSIdAndKey, AWSRole, RouteConfig
  from mlflow.gateway.constants import MLFLOW_AI_GATEWAY_ANTHROPIC_DEFAULT_MAX_TOKENS
  from mlflow.gateway.exceptions import AIGatewayConfigException
  from mlflow.gateway.providers.anthropic import AnthropicAdapter
  from mlflow.gateway.providers.base import BaseProvider, ProviderAdapter
  from mlflow.gateway.providers.cohere import CohereAdapter
  from mlflow.gateway.providers.utils import rename_payload_keys
  from mlflow.gateway.schemas import chat, completions, embeddings
label_desc: Use image node_id 8 for calling the AWSBedrockProvider obj's underlying member method code with example usage: obj._request(body) and returns: json