class_docstr: Store and load tf event logs from s3.
code: def __init__(
      self,
      bucket: str,
      access_key: Optional[str],
      secret_key: Optional[str],
      endpoint_url: Optional[str],
      prefix: Optional[str],
      *args: Any,
      **kwargs: Any,
  ) -> None:
      super().__init__(*args, **kwargs)
      import boto3
  
      self.bucket = bucket
      self.client = boto3.client(
          "s3",
          endpoint_url=endpoint_url,
          aws_access_key_id=access_key,
          aws_secret_access_key=secret_key,
      )
      self.resource = boto3.resource(
          "s3",
          endpoint_url=endpoint_url,
          aws_access_key_id=access_key,
          aws_secret_access_key=secret_key,
      )
  
      self.prefix = normalize_prefix(prefix)
  
file_path: determined/harness/determined/tensorboard/s3.py
imports: import logging
  import os
  from typing import Any, List, Optional
  from determined.common.storage.s3 import normalize_prefix
  from determined.tensorboard import base
label_desc: Use image node_id 1 to create a new S3TensorboardManager object from inherited base classes: base with example: obj = S3TensorboardManager(bucket, access_key, secret_key, endpoint_url, prefix)