aliyun.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import oss2
  2. # 远程bucket配置
  3. oss_conf = {
  4. "key_id": "LTAI4G5x9aoZx8dDamQ7vfZi",
  5. "key_secret": "Bk98FsbPYXcJe72n1bG3Ssf73acuNh",
  6. # "endpoint": "oss-cn-beijing-internal.aliyuncs.com",
  7. "endpoint": "oss-cn-beijing.aliyuncs.com",
  8. "bucket_name": "jy-datafile"
  9. }
  10. class AliYunService:
  11. def __init__(self):
  12. self.__acc_key_id = oss_conf['key_id']
  13. self.__acc_key_secret = oss_conf['key_secret']
  14. self.__endpoint = oss_conf['endpoint']
  15. self.__bucket_name = oss_conf['bucket_name']
  16. def push_oss_from_local(self, key, filename):
  17. """
  18. 上传一个本地文件到OSS的普通文件
  19. :param str key: 上传到OSS的文件名
  20. :param str filename: 本地文件名,需要有可读权限
  21. """
  22. auth = oss2.Auth(self.__acc_key_id, self.__acc_key_secret)
  23. bucket = oss2.Bucket(auth, self.__endpoint, self.__bucket_name)
  24. bucket.put_object_from_file(key, filename)
  25. def push_oss_from_stream(self, key, data):
  26. """
  27. 流式上传oss
  28. :param str key: 上传到OSS的文件名
  29. :param data: 待上传的内容。
  30. :type data: bytes,str或file-like object
  31. """
  32. auth = oss2.Auth(self.__acc_key_id, self.__acc_key_secret)
  33. bucket = oss2.Bucket(auth, self.__endpoint, self.__bucket_name)
  34. bucket.put_object(key, data)