polystores是一个抽象概念,是与云存储交互的客户机集合。
polystores的Python项目详细描述
多存储
polystores是一个抽象概念,是与云存储交互的客户机集合。
安装
$ pip install -U polystores
注意:默认情况下,此模块不包括云存储的客户端要求
为了保持库的轻量级,用户需要安装与polystores
一起使用的适当模块。
安装s3
pip install -U polystores[s3]
安装地面军事系统
pip install -U polystores[gcs]
安装azure存储
pip install -U polystores[azure]
商店
此模块包括客户端和存储抽象,可用于与AWS S3、Azure存储和Google云存储交互
S3号
正常实例化
frompolystores.stores.s3_storeimportS3Stores3_store=S3Store(endpoint_url=...,access_key_id=...,secret_access_key=...,session_token=...,region=...)
使用env vars
exportAWS_ENDPOINT_URL=... exportAWS_ACCESS_KEY_ID=... exportAWS_SECRET_ACCESS_KEY=... exportAWS_SECURITY_TOKEN=... exprot AWS_REGION=...
然后您可以实例化商店
frompolystores.stores.s3_storeimportS3Stores3_store=S3Store()
使用客户机
frompolystores.stores.s3_storeimportS3Stores3_store=S3Store(client=client)
重要方法
s3_store.list(bucket_name,prefix='',delimiter='',page_size=None,max_items=None,keys=True,prefixes=True)s3_store.list_prefixes(bucket_name,prefix='',delimiter='',page_size=None,max_items=None)s3_store.list_keys(bucket_name,prefix='',delimiter='',page_size=None,max_items=None)s3_store.check_key(key,bucket_name=None)s3_store.get_key(key,bucket_name=None)s3_store.read_key(key,bucket_name=None)s3_store.upload_bytes(bytes_data,key,bucket_name=None,overwrite=False,encrypt=False,acl=None)s3_store.upload_string(string_data,key,bucket_name=None,overwrite=False,encrypt=False,acl=None,encoding='utf-8')s3_store.upload_file(filename,key,bucket_name=None,overwrite=False,encrypt=False,acl=None,use_basename=True)s3_store.download_file(key,local_path,bucket_name=None,use_basename=True)s3_store.upload_dir(dirname,key,bucket_name=None,overwrite=False,encrypt=False,acl=None,use_basename=True)s3_store.download_dir(key,local_path,bucket_name=None,use_basename=True)
地面军事系统
正常实例化
frompolystores.stores.gcs_storeimportGCSStoregcs_store=GCSStore(project_id=...,credentials=...,key_path=...,key_path=...,scopes=...)
使用客户机
frompolystores.stores.gcs_storeimportGCSStoregcs_store=GCSStore(client=client)
重要方法
gcs_store.list(key,bucket_name=None,path=None,delimiter='/',blobs=True,prefixes=True)gcs_store.upload_file(filename,blob,bucket_name=None,use_basename=True)gcs_store.download_file(blob,local_path,bucket_name=None,use_basename=True)gcs_store.upload_dir(dirname,blob,bucket_name=None,use_basename=True)gcs_store.download_dir(blob,local_path,bucket_name=None,use_basename=True)
azure存储
正常实例化
frompolystores.stores.azure_storeimportAzureStoreaz_store=AzureStore(account_name=...,account_key=...,connection_string=...)
使用env vars
exportAZURE_ACCOUNT_NAME=... exportAZURE_ACCOUNT_KEY=... exportAZURE_CONNECTION_STRING=...
然后您可以实例化商店
frompolystores.stores.azure_storeimportAzureStoreaz_store=AzureStore()
使用客户机
frompolystores.stores.azure_storeimportAzureStoreaz_store=AzureStore(client=client)
重要方法
az_store.list(key,container_name=None,path=None,delimiter='/',blobs=True,prefixes=True)az_store.upload_file(filename,blob,container_name=None,use_basename=True)az_store.download_file(blob,local_path,container_name=None,use_basename=True)az_store.upload_dir(dirname,blob,container_name=None,use_basename=True)az_store.download_dir(blob,local_path,container_name=None,use_basename=True)
运行测试
pytest