mcpField
A
alibabacloud-dataworks-data-ops

alibabacloud-dataworks-data-ops

github.com/aliyun数据与数据库281377 次安装1 天前更新
代码仓库

关于 alibabacloud-dataworks-data-ops

alibabacloud-dataworks-data-ops 是通过 Aliyun CLI 管理 DataWorks 运维中心任务、工作流和告警规则的技能,面向数据平台运维人员。可查询任务实例、日志及上下游信息;工作流和告警规则相关操作为只读。

主要功能

  1. 01查询任务及任务实例
  2. 02查看实例日志与操作记录
  3. 03查询上下游任务
  4. 04只读查询工作流与告警规则

适用场景

  1. 01筛选失败的任务实例
  2. 02查看任务实例日志排查问题
  3. 03检查工作流运行实例
  4. 04查询告警规则

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-dataworks-data-ops

安装后在 Claude Code 中输入/alibabacloud-dataworks-data-ops确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acceptance-criteria.md
cli-installation-guide.md
ram-policies.md
related-commands.md
verification-method.md

详细介绍

DataWorks 数据运维

DataWorks 运维中心助手,用于任务和工作流运维、告警规则创建与管理。 支持周期性、手动和触发式任务/工作流(不包括实时/流式任务)。

安装

预检查:需要 Aliyun CLI >= 3.3.3 运行 aliyun version 验证版本是否 >= 3.3.3。如果尚未安装或版本过低, 运行 curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash 进行更新, 或参阅 references/cli-installation-guide.md 获取安装说明。

预检查:需要更新 Aliyun CLI 插件 [MUST] 运行 aliyun configure set --auto-plugin-install true 以启用自动安装插件。

[MUST] CLI AI-Mode 和 User-Agent — 执行任何业务 CLI 命令前:

aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops"
aliyun plugin update

工作流完成后:

aliyun configure ai-mode disable

环境变量

aliyun CLI 的默认超时时间可能导致无限期挂起。执行任何 API 命令前,[MUST] 设置以下环境变量:

变量说明默认值
ALIBABA_CLOUD_CONNECT_TIMEOUT连接超时时间,单位为毫秒10000
ALIBABA_CLOUD_READ_TIMEOUT读取超时时间,单位为毫秒30000

对于大批量查询(例如包含 500+ 个结果的分页任务实例列表),可将 ALIBABA_CLOUD_READ_TIMEOUT 增加到 60000 ms。

如果 API 调用超时,[MUST] 使用加倍的读取超时时间重试一次。如果第二次尝试仍然失败,请向用户报告超时,并建议检查网络连接、项目 ID 有效性或 RAM 权限。

无其他特殊环境变量要求。

身份验证

预检查:需要阿里云凭证

安全规则:

  • 绝不读取、回显或打印 AK/SK 值(例如,禁止使用 echo $ALIBABA_CLOUD_ACCESS_KEY_ID)
  • 绝不要求用户在对话或命令行中直接输入 AK/SK
  • 绝不使用字面凭证值运行 aliyun configure set
  • 仅使用 aliyun configure list 检查凭证状态
aliyun configure list

检查输出中是否存在有效配置(AK、STS 或 OAuth 身份)。

如果不存在有效配置,请在此处停止。

  1. 从 阿里云控制台 获取凭证
  2. 在此会话之外配置凭证(通过终端中的 aliyun configure 或 Shell 配置文件中的环境变量)
  3. 返回并在 aliyun configure list 显示有效配置后重新运行

RAM 权限

此技能需要以下 RAM 权限:

任务管理
API权限操作说明
GetTaskdataworks:GetTask获取任务详情
ListTasksdataworks:ListTasks查询任务列表
ListUpstreamTasksdataworks:ListUpstreamTasks查询上游任务列表
ListDownstreamTasksdataworks:ListDownstreamTasks查询下游任务列表
ListTaskOperationLogsdataworks:ListTaskOperationLogs查询任务操作日志
任务实例管理
API权限操作说明
ListTaskInstancesdataworks:ListTaskInstances查询任务实例列表
GetTaskInstancedataworks:GetTaskInstance获取任务实例详情
GetTaskInstanceLogdataworks:GetTaskInstanceLog获取任务实例日志
ListUpstreamTaskInstancesdataworks:ListUpstreamTaskInstances查询上游任务实例
ListDownstreamTaskInstancesdataworks:ListDownstreamTaskInstances查询下游任务实例
ListTaskInstanceOperationLogsdataworks:ListTaskInstanceOperationLogs查询任务实例操作日志
工作流(运维中心,只读)
API权限操作描述
GetWorkflowdataworks:GetWorkflow获取工作流详情
ListWorkflowsdataworks:ListWorkflows查询工作流列表
工作流实例(运维中心,只读)
API权限操作描述
ListWorkflowInstancesdataworks:ListWorkflowInstances查询工作流实例列表
GetWorkflowInstancedataworks:GetWorkflowInstance获取工作流实例详情
告警规则(自定义监控,只读)
API权限操作描述
ListAlertRulesdataworks:ListAlertRules查询告警规则列表
GetAlertRuledataworks:GetAlertRule获取告警规则详情

[MUST] 权限失败处理: 在执行过程中的任何时候,如果命令或 API 调用因权限错误而失败,请按以下流程处理:

  1. 阅读 references/ram-policies.md,获取此 SKILL 所需权限的完整列表
  2. 使用 ram-permission-diagnose skill,引导用户申请所需权限
  3. 暂停操作,等待用户确认已授予所需权限

参数确认

重要:参数确认 — 执行任何命令或 API 调用之前, 必须与用户确认所有可自定义参数(例如 ProjectId、RegionId、bizdate、实例 ID 等)。 未经用户明确同意,不得假定或使用默认值。

参数必填/可选描述默认值
Region必填目标区域无
ProjectId必填DataWorks 工作空间 ID无
Bizdate必填(与实例相关)业务日期(毫秒时间戳)今天的业务日期

实例状态枚举值(用于 --status 参数):

  • NotRun - 未运行
  • Running - 运行中
  • Failure - 失败
  • Success - 成功
  • WaitTime - 等待时间
  • WaitResource - 等待资源

工作流实例类型枚举值(用于 --type 参数):

  • Normal - 正常调度
  • Manual - 手动运行
  • SmokeTest - 冒烟测试
  • SupplementData - 补数据
  • ManualWorkflow - 手动工作流
  • TriggerWorkflow - 触发工作流

核心工作流

0. 确认目标区域

与用户确认目标区域。常见区域:

  • cn-hangzhou - 华东 1(杭州)
  • cn-shanghai - 华东 2(上海)
  • cn-beijing - 华北 2(北京)
  • cn-shenzhen - 华南 1(深圳)

任务管理
# Query task list
aliyun dataworks-public list-tasks \
  --region <REGION> \
  --project-id <PROJECT_ID> \
  [--name <TASK_NAME>] \
  [--page-size <SIZE>] \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

# Get task details
aliyun dataworks-public get-task \
  --region <REGION> \
  --id <TASK_ID> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

有关更多命令参数和完整命令列表,请参阅 references/related-commands.md


任务实例管理
# Query task instance list (filter by status)
aliyun dataworks-public list-task-instances \
  --region <REGION> \
  --project-id <PROJECT_ID> \
  --bizdate <BIZDATE_TIMESTAMP> \
  [--status NotRun|Running|Failure|Success|WaitTime|WaitResource] \
  [--task-name <TASK_NAME>] \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

# Get task instance details (use instance ID from list above)
aliyun dataworks-public get-task-instance \
  --region <REGION> \
  --id <TASK_INSTANCE_ID> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

# Get task instance log
aliyun dataworks-public get-task-instance-log \
  --region <REGION> \
  --id <TASK_INSTANCE_ID> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

有关更多命令(实例详情、上游/下游实例、操作日志等),请参阅 references/related-commands.md


工作流(运维中心,只读)
# Query workflow list
aliyun dataworks-public list-workflows \
  --region <REGION> \
  --project-id <PROJECT_ID> \
  [--name <WORKFLOW_NAME>] \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

# Get workflow details
aliyun dataworks-public get-workflow \
  --region <REGION> \
  --id <WORKFLOW_ID> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

工作流实例(运维中心,只读)
# Query workflow instance list
aliyun dataworks-public list-workflow-instances \
  --region <REGION> \
  --project-id <PROJECT_ID> \
  --biz-date <BIZDATE_TIMESTAMP> \
  [--type Normal|Manual|SmokeTest|SupplementData|ManualWorkflow|TriggerWorkflow] \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

# Get workflow instance details
aliyun dataworks-public get-workflow-instance \
  --region <REGION> \
  --id <WORKFLOW_INSTANCE_ID> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

告警规则(自定义监控,只读)
# Query alert rule list
aliyun dataworks-public list-alert-rules \
  --region <REGION> \
  --page-number <PAGE_NUMBER> \
  --page-size <PAGE_SIZE> \
  [--name <RULE_NAME>] \
  [--owner <OWNER_UID>] \
  [--receiver <RECEIVER_UID>] \
  [--task-ids <ID1> <ID2> ...] \
  [--types <TYPE1> <TYPE2> ...] \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

# Get alert rule details
aliyun dataworks-public get-alert-rule \
  --region <REGION> \
  --id <ALERT_RULE_ID> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

命令示例
# Step 1: Query failed task instances
aliyun dataworks-public list-task-instances \
  --region cn-hangzhou \
  --project-id 240863 \
  --bizdate 1775404800000 \
  --status Failure \
  --page-size 100 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

# Step 2: View instance log
aliyun dataworks-public get-task-instance-log \
  --region cn-hangzhou \
  --id <INSTANCE_ID> \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dataworks-data-ops

成功验证

  1. 查询验证:ListTaskInstances 返回 TaskInstances 列表,其中包含实例 ID、状态、任务名称等信息
  2. 日志验证:GetTaskInstanceLog 返回包含日志内容的 TaskInstanceLog 字段

详细验证步骤请参阅 references/verification-method.md

清理

此 skill 不会创建资源,无需清理。

最佳实践

  1. 业务日期计算:Bizdate 通常是调度日期前一天 00:00:00 的毫秒级时间戳
  2. 分页查询:使用 --page-number 和 --page-size 进行分页,每页最多 500 条
  3. 操作前检查:建议先检查实例日志,确认状态并避免重复失败

参考资料

文档描述
references/ram-policies.mdRAM 权限策略
references/related-commands.mdCLI 命令速查
references/verification-method.md成功验证方法
related_apis.yaml完整 API 列表

评论

支持 Markdown