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

如何查询Azure中Blob复制操作的状态?(Python代码场景)

如何查询Azure Blob复制操作的实时状态

嘿,我来帮你搞定这个问题!当你调用copy_blob返回的初始状态只是请求发起时的快照,要确认复制是否完成,你需要主动查询目标Blob的属性,里面包含了复制操作的实时状态信息。

具体步骤和代码示例:

  1. 使用Azure Storage Blob SDK的get_blob_properties方法,获取目标Blob的完整属性
  2. 从返回的属性对象中提取复制相关的状态字段

下面是完整的代码片段,直接可以加到你的现有代码里:

# 先获取目标Blob的属性
blob_props = blob_service.get_blob_properties(BLOB_CONTAINER, Destiny)

# 提取复制状态关键信息
current_copy_status = blob_props.copy.status
copy_operation_id = blob_props.copy.id
completion_time = blob_props.copy.completion_time

# 根据状态判断结果
if current_copy_status == "success":
    print(f"复制成功完成!完成时间:{completion_time}")
elif current_copy_status == "pending":
    print(f"复制仍在进行中,请稍后再查。当前状态:{current_copy_status}")
elif current_copy_status in ["aborted", "failed"]:
    # 如果失败,可以查看错误描述
    error_msg = blob_props.copy.status_description
    print(f"复制失败,状态:{current_copy_status},错误信息:{error_msg}")

额外提示:

  • 复制状态的可能取值有四个:pending(进行中)、success(完成)、aborted(已中止)、failed(失败)
  • 如果你需要持续监控复制进度,可以写一个简单的循环,每隔几秒钟查询一次状态,直到状态不再是pending为止
  • 注意:只有当复制状态为success时,completion_time字段才会有值

内容的提问来源于stack exchange,提问作者Pedro Kássio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:08:13