如何检查以确保 blob_service.put_block_blob_from_path() 在 python 中成功?

How to check to make sure that blob_service.put_block_blob_from_path() was successful in python?

我必须确保数据已上传。有没有更好的方法呢?特别是我想获得一些交易元数据?

try:
     blob_service.put_block_blob_from_path(
     'user',
     fileName+'.'+ext,
     fileName+'.'+ext)

except:
     print sys.exc_info()[1]

python 的 Azure SDK 支持 progress_callback 方法。我们可以使用回调函数监控进度。

带有签名 function(current, total) 的进度回调,其中 current 是到目前为止传输的字节数,total 是 blob 的大小,或者 None 如果总大小未知。

def progress_callback(current, total):
    print current
    print "==============="
    print total
    print "==============="
    if(current<total):
        print "unfinish"
    else:
        print "finish"
blob_service = BlobService(account_name=storage_account_name, account_key=storage_account_key)
blob_service.put_block_blob_from_path(container, blob_name, 'C:\Users\file_path',progress_callback=progress_callback)

此外,如果您想知道是否在 Azure 存储中,您可以使用 Storage Explore Toollist_blob 方法来检查文件。 请尝试一下。