2015-11-11 7 views
0

Я хочу, чтобы загрузить объект s3, если объект не изменяется или новый объект с помощью boto3 Как я могу проверить данный файл новый/модифицированныйПроверка является выход объекта в s3 с boto3

isNewObject(bucket, key, file) 

    s3hash = bucket.getHash(key) 
    filehash = getHash(key) 

    if (s3hash != filehash) 
     return True 
    else 
     return False 

ответ

0

это должно помочь , если ваши данные файла находятся в data и ваш хэш в digest

s3 = boto3.resource('s3') 

    obj = s3.Object('your-bucket', 'your-file') 
    metadata = {} 

    try: 
      metadata = obj.metadata 
    except: 
      pass 

    if 'md5' not in metadata or metadata['md5'] != digest: 
      obj.put(Body = data, Metadata = { 'md5' : digest })