SuperAPI AI 工具集

alibabacloud-flink-workspace-ops

部署与运维

查看项目

更新于 10-15 09:09

技能介绍

该技能面向阿里云 Flink(Ververica / 实时计算)控制台工作区层面的运维操作,通过命令行脚本执行。

【用途】 用于操作用户明确要求处理的 Flink 控制台工作区资源,包括 SQL 草稿、SQL 校验与执行、部署(deployment)、作业(job)、Session Cluster、命名空间、表、工作区成员与变量,以及作业诊断。触发场景包括出现 draft、SQL、validate、deployment、job、Session Cluster、namespace、table、member、variable、checkpoint 等操作关键词,或出现 w-、d-、j-、sc-、draft-* 等资源 ID 形式。

【主要能力】

  • SQL 相关:validate_sql 校验 SQL 语法;create_draft 创建 SQL 草稿;execute_sql 执行 SQL。
  • 部署与作业:deploy_draft 部署草稿;list_deployments 列出部署/作业;start_job 启动作业(可指定 restore_strategy);stop_job 停止作业(可带 savepoint);diagnose_job 诊断作业;delete_deployment 删除部署。
  • Session Cluster:create_session_cluster、list_session_clusters、start_session_cluster、stop_session_cluster、delete_session_cluster。
  • 工作区资源:get_tables 获取表;create_member 添加成员;list_variables 列出变量。

【使用方式】 通过 python scripts/flink_ververica_ops.py <command> [args] 执行。所有命令必须包含 -w <workspace_id>、-n <namespace>、-r <region> 三个参数(缺省时命名空间默认 default,地域默认 cn-beijing)。变更类操作(create_、deploy_、start_、stop_、execute_sql)需加 --confirm;删除类操作(delete_)需明确删除意图并加 --confirm。读操作(list_、get_*、validate_sql、diagnose_job)可直接执行。命令支持 -o json|table|text 输出格式。

【执行要求】 技能强调“先执行”原则:触发后应立即执行真实命令,不得以脚本、文档或 markdown 计划替代执行,不得使用 aliyun emr、aliyun ververica、kubectl 等其他 CLI。若缺少真实 ID,可使用占位符(w-xxx、d-xxx、j-xxx、sc-xxx、draft-xxx)继续执行。多步骤流程(如作业生命周期 7 步、Session Cluster 生命周期 5 步)需按顺序全部执行,某步失败也应继续后续步骤并最终汇报各步结果。

【可观测性】 加载技能时生成一个 32 位小写十六进制会话 ID,调用云 API 的 aliyun 命令需带 --user-agent AlibabaCloud-Agent-Skills/alibabacloud-flink-workspace-ops/{session-id};运行 Python SDK 脚本或 Terraform 时通过环境变量 SKILL_SESSION_ID 注入同一会话 ID。

【安全与凭证】 变更与破坏性操作需 --confirm;安全护栏测试时对每个破坏性/变更操作先不带 --confirm 执行,并输出 SafetyCheckRequired 提示。禁止在响应、命令、日志或生成文件中输出或存储任何凭证值(access_key_id、access_key_secret、security_token 等),认证由默认凭证链内部处理。

【适用场景】 Flink 控制台工作区的 SQL 草稿与校验、部署与作业启停、Session Cluster 管理、表与成员变量管理、作业诊断,以及控制台生命周期流程验证、安全护栏验证、参数校验验证等。

【限制】 不处理实例生命周期(创建/扩缩容/删除/续费,属于 alibabacloud-flink-instance-manage)、容器/Pod 排障、对象存储上传下载、其他计算引擎集群管理、用户服务器上的开源框架安装、通用云基础设施(计算/网络/计费)、包上传与提交操作。对于超出范围的请求,应仅给出边界指引,不执行演示命令。