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

如何识别GCP Storage Transfer Service从AWS迁移时跳过的同名文件

识别GCP Storage Transfer Service跳过的同名文件

以下是几种直接可行的方法:

方法1:查看迁移任务的详细日志

  • 登录GCP控制台,进入Cloud Storage Transfer Service页面
  • 定位到对应的迁移任务,点击进入任务详情页
  • 在日志板块中,筛选状态为SKIPPED且错误原因是ALREADY_EXISTS的条目,每条记录会明确显示被跳过的文件路径和名称
  • 若日志条目较多,可将日志导出至指定GCS存储桶,再通过gsutil命令下载到本地查看:
    gsutil cp gs://[你的日志存储桶路径]/transfer-log-*.json ./skipped-files-logs.json
    
    之后可用jq工具快速过滤出目标文件:
    jq '.[] | select(.status == "SKIPPED" and .errorReason == "ALREADY_EXISTS") | .objectName' skipped-files-logs.json
    

方法2:对比源(AWS)和目标(GCP)存储桶的文件列表

  • 导出AWS源桶的完整文件列表:
    aws s3 ls s3://[AWS源桶名称] --recursive > aws-bucket-files.txt
    
  • 导出GCP目标桶的完整文件列表:
    gsutil ls gs://[GCP目标桶名称]/** > gcp-bucket-files.txt
    
  • 对两个文件排序后,用comm命令找出在源桶存在、且目标桶已有的文件(即迁移时被跳过的同名文件):
    sort aws-bucket-files.txt > sorted-aws.txt
    sort gcp-bucket-files.txt > sorted-gcp.txt
    comm -12 sorted-aws.txt sorted-gcp.txt > skipped-files.txt
    
    注:comm -12会输出两个文件的共同行,也就是两边都存在的同名文件。

方法3:通过Cloud Logging精准查询

  • 进入GCP Cloud Logging页面
  • 在查询框中输入以下过滤语句:
    resource.type="cloud_transfer_job" AND jsonPayload.status="SKIPPED" AND jsonPayload.errorReason="ALREADY_EXISTS"
    
  • 执行查询后,结果中的jsonPayload.objectName字段即为被跳过的文件名
  • 可将查询结果导出为CSV/JSON格式,便于批量处理或查看

内容的提问来源于stack exchange,提问作者devops on the road

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:02:21