s3.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. from magic_pdf.data.data_reader_writer.multi_bucket_s3 import (
  2. MultiBucketS3DataReader, MultiBucketS3DataWriter)
  3. from magic_pdf.data.schemas import S3Config
  4. class S3DataReader(MultiBucketS3DataReader):
  5. def __init__(
  6. self,
  7. bucket: str,
  8. ak: str,
  9. sk: str,
  10. endpoint_url: str,
  11. addressing_style: str = 'auto',
  12. ):
  13. """s3 reader client.
  14. Args:
  15. bucket (str): bucket name
  16. ak (str): access key
  17. sk (str): secret key
  18. endpoint_url (str): endpoint url of s3
  19. addressing_style (str, optional): Defaults to 'auto'. Other valid options here are 'path' and 'virtual'
  20. refer to https://boto3.amazonaws.com/v1/documentation/api/1.9.42/guide/s3.html
  21. """
  22. super().__init__(
  23. bucket,
  24. [
  25. S3Config(
  26. bucket_name=bucket,
  27. access_key=ak,
  28. secret_key=sk,
  29. endpoint_url=endpoint_url,
  30. addressing_style=addressing_style,
  31. )
  32. ],
  33. )
  34. class S3DataWriter(MultiBucketS3DataWriter):
  35. def __init__(
  36. self,
  37. bucket: str,
  38. ak: str,
  39. sk: str,
  40. endpoint_url: str,
  41. addressing_style: str = 'auto',
  42. ):
  43. """s3 writer client.
  44. Args:
  45. bucket (str): bucket name
  46. ak (str): access key
  47. sk (str): secret key
  48. endpoint_url (str): endpoint url of s3
  49. addressing_style (str, optional): Defaults to 'auto'. Other valid options here are 'path' and 'virtual'
  50. refer to https://boto3.amazonaws.com/v1/documentation/api/1.9.42/guide/s3.html
  51. """
  52. super().__init__(
  53. bucket,
  54. [
  55. S3Config(
  56. bucket_name=bucket,
  57. access_key=ak,
  58. secret_key=sk,
  59. endpoint_url=endpoint_url,
  60. addressing_style=addressing_style,
  61. )
  62. ],
  63. )