如何通过请求ID查询Google Cloud CDN缓存清除任务进度?
如何通过请求ID查询Google Cloud CDN缓存清除任务进度
核心逻辑
缓存清除任务属于GCP异步操作,返回的请求ID对应一个GlobalOperation资源,查询进度本质就是获取该Operation的详情。
Python客户端库实现步骤
确保依赖安装
先确认已安装Google Compute Engine Python客户端库:pip install google-cloud-compute编写查询代码
使用global_operations().get()方法查询任务状态,示例代码如下:from google.cloud import compute_v1 def check_invalidation_progress(project_id: str, operation_id: str): # 初始化Compute客户端 client = compute_v1.GlobalOperationsClient() # 获取Operation详情 operation = client.get(project=project_id, operation=operation_id) # 解析关键状态信息 print(f"任务状态: {operation.status}") print(f"任务开始时间: {operation.start_time}") if operation.status == "DONE": if operation.error: print(f"任务失败,错误信息: {operation.error}") else: print("任务已成功完成") # 替换为你的项目ID和缓存清除请求ID check_invalidation_progress("your-project-id", "your-operation-id")关键字段说明
- status:任务当前状态,常见取值:
PENDING:任务等待调度RUNNING:任务正在执行DONE:任务已完成(成功或失败)
- error:仅当任务失败时存在,包含具体错误原因
- start_time / end_time:任务的开始和结束时间(完成后会返回end_time)
- status:任务当前状态,常见取值:
注意事项
- 缓存清除任务的执行时间取决于清除范围大小,小范围可能几秒完成,大范围可能需要数分钟
- 如果任务状态长时间停留在
RUNNING,可检查GCP控制台的Compute Engine操作日志排查问题
内容的提问来源于stack exchange,提问作者Duojie
相关产品推荐
相关产品推荐

