用途:检查阿里云 OSS 跨区域复制(CRR)配置,回答“已配置跨区域复制但目标桶没有文件”“只显示规则 ID 却不启动”“复制规则是否同步删除”“复制需要哪个授权角色”等问题,并对“复制未启动”给出基于证据的配置原因归因。
主要能力:通过只读的 GetBucketInfo 获取存储类与地域,通过只读的 GetBucketReplication 读取复制规则;无规则时报告“未配置复制”这一合法结论;有规则时检查授权角色、前缀范围、删除同步开关、历史数据开关与传输加速依赖。可选 --verify-target 会在规则前缀下做有界只读的源目标对象数抽查,输出 match / mismatch / target_unreachable / truncated。日志带 session-id 以便关联调用。
使用方式:所有检查必须运行 scripts/ 下的脚本,入口为 scripts/crr_config_check.py,身份检查为 scripts/sts_token.py;不要自行拼装 ossutil、SDK 或 curl 命令。无需用户确认即可运行(只读)。凭证只走默认凭证链(ALIBABA_CLOUD_ACCESS_KEY_ID 等环境变量;身份检查用 aliyun CLI 默认凭证链),不得读取或传入 AK/SK/STS。需要 aliyun CLI 3.3.3 及以上:aliyun version 查看、aliyun upgrade --yes 升级。配置类问题须带 --question "" 以核验官方文档,并引用 doc_verification.docs 中的 URL,不得凭记忆编造 URL;若 note 以 DEGRADED 开头,须声明无法在线核验官方文档。退出码:0 为有结论(OK/DEGRADED),1 为无可用结论(FAIL,NEXT_ACTION 指明缺失输入),2 仅指 argparse 用法错误。未提供桶名时以 --bucket 省略运行,脚本会列出当前凭证可见的桶(最多 30 个)。
适用场景:跨区域复制不生效、复制规则配置错误、复制授权、删除标记同步确认、复制慢或延迟、冷归档复制、传输加速未开启、跨地域容灾方案排查等。
限制:严格只读,绝不调用 PutBucketReplication、DeleteBucketReplication 等变更 API,也不得为“确认”空结果而发起创建或测试调用;用户要求创建或修改规则时只给手工指引。不处理计费争议、已删除对象恢复、端点/内网访问错误与通用跨账号 RAM 授权设计,应转对应技能。结论必须基于实际返回数据,查询失败或为空时记录限制,不臆造规则、状态或角色名。API 错误时记 [WARN] 到 stderr 并继续,最终报 DEGRADED。--verify-target 仅抽查路径,不保证全量一致性。具体收费、价格与更多版本要求暂未提供。