• python 调用 oss sdk


    #cython: language_level=3
    import sys
    import oss2
    import logging
    from itertools import islice
    
    
    OSS_BUCKEET_NAME = "xxxxx"
    OSS_AK_ID = "xxxxxxxxxx"
    OSS_AK_SECRET = "xxxxxxxxxxxx"
    OSS_ENDPOINT = "https://oss-cn-beijing.aliyuncs.com"
    oss2.set_file_logger("./oss.log", 'oss2', logging.INFO)
    auth = oss2.Auth(OSS_AK_ID,OSS_AK_SECRET)
    bucket = oss2.Bucket(auth=auth, endpoint=OSS_ENDPOINT, bucket_name=OSS_BUCKEET_NAME)
    
    
    def percentage(consumed_bytes, total_bytes):
        if total_bytes:
            rate = int(100 * (float(consumed_bytes) / float(total_bytes)))
            print('\r{0}% '.format(rate), end='')
            sys.stdout.flush()
    
    
    def download(source_file_list):
    
        try:
            if "," in source_file_list:
                source_file_list = source_file_list.split(",")
                for source_file in source_file_list:
                    path = source_file.split("/")[-1]
                    oss2.resumable_download(bucket, source_file,  path, progress_callback=percentage)
            else:
                path = source_file_list.split("/")[-1]
                oss2.resumable_download(bucket, source_file_list, path, progress_callback=percentage)
        except oss2.exceptions as e:
            print('status={0}, request_id={1}'.format(e.status, e.request_id))
    
    
    def list_file():
        for b in islice(oss2.ObjectIterator(bucket=bucket, prefix='test/'), 20):
            print(b.key)
    
    
    if __name__ == '__main__':
        help = """
        HELP:
        ====================================================================================
        list file: Usage: Example: ./oss list
        Download one file: Usage: Example: ./oss test/test.txt 
        Download muti files: Usage: Example: ./oss test/test111.txt,test/test222.txt 
        ====================================================================================
        """
        print(help)
        if sys.argv[1] == "list":
            list_file()
        else:
            download(sys.argv[1])
  • 相关阅读:
    [ASP.NET][实例]用户控件的设计与使用
    构造器[java、C#]
    [转]clob和blob两个字段什么分别?
    C#的反射机制调用方法
    C# WinForm 控件美化之改变ListView Head 的背景色
    C# 创建快捷方式
    Copy Html To Clipboard
    改善C#程序的建议在线程同步中使用信号量
    Paste html from Clipboard
    Winform部署mshtml程序集出错的一个解决方案
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/16394317.html
Copyright © 2020-2023  润新知