You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure Blob存储返回的ResourceProperties对象中查看状态?

如何从Azure Blob的ResourceProperties对象查看操作状态

嘿,作为Azure新手遇到这个问题太正常啦!我来帮你拆解一下~

首先要明确一个关键点:Azure Storage Python SDK的create_blob_from_stream方法,如果Blob创建操作失败,会直接抛出异常(比如StorageErrorException),不会返回ResourceProperties对象。所以只要你能拿到这个对象,就说明你的文件已经成功上传到Blob存储了!

不过如果你想从这个对象里获取更多操作相关的状态或Blob元数据,可以直接访问它的属性,或者用下面的方法查看所有可用信息:

查看所有属性和值

你可以用Python内置的vars()函数来打印这个对象的所有属性及其对应的值,这样就能一目了然看到所有可用的信息:

print(vars(response))

常用的状态/元数据属性

这里列几个实用的属性,帮你确认操作状态和Blob信息:

  • response.last_modified:返回datetime类型的时间戳,代表Blob最后被修改的时间,能直接证明上传操作完成
  • response.etag:返回字符串类型的ETag值,每个Blob的ETag都是唯一的,每次修改Blob都会更新这个值,也是操作成功的有力标志
  • response.content_length:返回Blob的字节大小,可以和你上传的文件大小做对比,确认上传完整性
  • response.content_type:返回Blob的内容类型,比如text/plain、image/jpeg等

举个实际使用的例子:

# 打印关键状态信息
print(f"Blob上传成功!")
print(f"最后修改时间: {response.last_modified}")
print(f"Blob ETag: {response.etag}")
print(f"上传文件大小: {response.content_length} bytes")

额外建议:添加异常捕获

为了更稳妥地处理可能的错误,建议在代码里加上异常捕获逻辑,这样能明确处理上传失败的情况:

from azure.storage.blob import StorageErrorException

try:
    response = block_blob_service.create_blob_from_stream(settings.CONTAINER_NAME+"/"+"headers", s3_key, file_upload)
    # 操作成功时的逻辑
    print(f"Blob创建成功,ETag: {response.etag}")
except StorageErrorException as e:
    # 操作失败时的逻辑
    print(f"Blob上传失败,错误信息: {e}")

内容的提问来源于stack exchange,提问作者padmaja cherukuri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:51:10