python oss上獲取指定bucket,指定時間範圍內文件

# -*- coding: utf-8 -*-
import sys
import oss2
import time
import traceback


PREFIX = 'http://'

class find_oss_file():
    def __init__(self):
        pass

    # ossinfo { # ossinfo ={ACCESS_KEY_ID,ACCESS_KEY_SECRET,ENDPOINT,BUCKETNAME_XLS}
    # timerange 時間毫秒值
    # urlload 文件目錄
    def findfile(self, ossinfo,timerange,urlload):
        result = {}
        urlDict = {}
        sourceURL = ''
        sourceTime = ''
        try:
            auth = oss2.Auth(ossinfo['ACCESS_KEY_ID'],      ossinfo['ACCESS_KEY_SECRET'])
            bucket = oss2.Bucket(auth, ossinfo['ENDPOINT_OUT'], ossinfo['BUCKETNAME_XLS'])
            for filename in oss2.ObjectIterator(bucket, prefix='%s/'%urlload):
                # sourcefile = filename.key.split('/')[1]
                sourceURL = PREFIX + ossinfo['BUCKETNAME_XLS'] + '.' + ossinfo['ENDPOINT_OUT'] +'/'+ filename.key
                sourceTime = filename.last_modified
                if sourceTime in urlDict.keys():
                    # 時間重複
                    pass
                urlDict[sourceTime] = sourceURL

            newnow = time.time() - timerange
            items = urlDict.items()
            items.sort()
            gt200 = {key: value for key, value in items if key > newnow}
            result['fileurl'] = gt200.values()
            result['errorcode'] = 0
            return result
        except Exception, ex:
            result['errorcode'] = -1
            result['errortext'] = '%s_%s:%s' % (traceback.print_exc(), Exception, ex)
            return result

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章