用途
这是一个部署后验证技能,用于在任何工作区与 Unity Catalog 部署完成后执行强制性的验证流程。它的核心主张是:在宣称工作区"已部署"或"已验证"之前,必须针对同一个 UC 表跑通全部三条计算路径。之所以单列为一个技能,是因为部署验证是各类平台压力测试中最常被跳过的步骤——智能体倾向于选择最省事的路径(Serverless SQL),导致只有经典集群才会暴露的技能缺口要等到真实客户在生产环境中才被发现。
主要能力:三条路径规则
Path 1 — 经典集群(启用 UC):信息量最大的测试,可暴露集群策略正确性(data_security_mode、single_user_name、允许的实例类型)、IAM 角色/托管标识向集群的传播、UC metastore 与外部位置及存储凭据从工作节点的解析、init 脚本与自定义 AMI、SCC 中继与私有网络(工作节点通过 TCP 443 到达控制平面)、Spark conf 中使用的密钥作用域、DBFS 根加密等。最低集群规格建议固定真实下限:min_cores = 8、min_memory_gb = 32、local_disk = true。文档指出不要使用裸的 "smallest" 预设,因为在 AWS 上它会选取 m5d.large(2 vCPU / 8GB),在新工作区上会因 DriverStartupTimeout 300s 而失败。验证集群应设 num_workers = 1(不自动扩缩,保持确定性)、autotermination_minutes = 0。
Path 2 — Serverless SQL 仓库(PRO):最快的验证路径,测试 UC + Serverless + 存储凭据从 Serverless 平面的解析。需设置 enable_serverless_compute = true、warehouse_type = "PRO",且 min_num_clusters 与 max_num_clusters 都必须显式设为 1(省略会被 warehouses.create() 拒绝)。
Path 3 — Serverless notebook 作业(临时作业计算):测试第三种计算平面,身份上下文、网络出口、代码路径均与前两者不同。必须是使用 dbutils.notebook.exit(...) 的 Python notebook,因为 SQL notebook 不会通过运行输出 API 暴露 SELECT 结果。
使用方式
每三条路径均围绕同一 UC 表执行 CREATE → INSERT → SELECT → DROP,SELECT 必须返回刚插入的那一行。任何一条失败即不得标记为已验证,需要诊断、修复并重跑全部三条。验证工作流顺序为:1)三条路径全部 PASS → 工作区已验证;2)任一 FAIL → 诊断修复后重跑全部三条;3)保存验证产物;4)在记录中按路径更新 PASS/FAIL。应保存的产物包括 verification.tf(集群、仓库、notebook+job)、verification.log(每条 SQL 语句输出、退出码、耗时)、verification.json(按路径的结构化通过/失败)。
批准门与清理
验证是强制性的,但验证本身会创建真实远程资源(经典集群、PRO SQL 仓库、notebook、job),属于变更操作,因此创建前必须提交一份计划并获得明确批准:目标(工作区与 profile/host)、变更集(将创建的具体 verify-* 资源及将 CREATE/INSERT/SELECT/DROP 的 UC 表),一次性批量批准而非逐个提示。重试/恢复沿用同一门控,未经重新批准不得创建额外资源。清理仅销毁本次运行创建的 verify-* 资源并报告已移除内容。
允许跳过的狭窄例外
Path 1 仅在以下情况可跳过:客户明确要求不使用经典计算,或工作区以 compute_mode = "SERVERLESS"(仅 GCP)创建;GCP 上 PSC-backend-only 工作区无法通过 PSC 后端路由到达 UC API 时也可记录跳过原因。Path 2 仅在客户明确禁止 Serverless 且工作区确实未启用时跳过。Path 3 仅在所在区域不支持 Serverless 作业计算时跳过。所有跳过需在 verification.json 中以 "SKIPPED-WITH-REASON" 记录原因,不得仅因经典集群冷启动慢就跳过。
限制
该技能要求在执行验证前获得批准,"强制性"指不跑验证就不得宣称部署完成,而非跳过批准环节。自动批准/无头模式是客户的选择与责任。文档还列出了各路径的硬失败模式表(如集群卡在 Pending、凭据未找到、S3 权限缺失、Azure DES 托管标识缺少 Key Vault 访问策略等)及对应根因,供诊断参考。