Skip to content
Cloud & Infrastructure
Skill

/submit-batch-task

提交离线计算任务(从开发区提交到运维区)。 触发场景:提交任务 / submit 离线任务 / 任务从 DEV 提交到生产 / submit-batch-task / 获取 SubmitId 和 NodeId。 关键点:TaskType × Engine 两级分支决定 Code 语言和 ParamList Key 规则(Python / Shell / Hive_SQL / MaxCompute_SQL 等)。 注意:不支持 --data-source-id 参数(数据源在 update-batch-task 阶段已保存)。

From plugin
alibabacloud-aiops-skills
213200 skills
Install
$ npx -y skills add aliyun/alibabacloud-aiops-skills --skill submit-batch-task --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/submit-batch-task

Context preview

The summary Claude sees to decide when to auto-load this skill.

提交离线计算任务(从开发区提交到运维区)。 触发场景:提交任务 / submit 离线任务 / 任务从 DEV 提交到生产 / submit-batch-task / 获取 SubmitId 和 NodeId。 关键点:TaskType × Engine 两级分支决定 Code 语言和 ParamList Key 规则(Python / Shell / Hive_SQL / MaxCompute_SQL 等)。 注意:不支持 --data-source-id 参数(数据源在 update-batch-task 阶段已保存)。

SKILL.md

submit-batch-task.SKILL.md
name: submit-batch-task
description: |-
  提交离线计算任务(从开发区提交到运维区)。 触发场景:提交任务 / submit 离线任务 / 任务从 DEV 提交到生产 / submit-batch-task / 获取 SubmitId 和 NodeId。 关键点:TaskType × Engine 两级分支决定 Code 语言和 ParamList Key 规则(Python / Shell / Hive_SQL / MaxCompute_SQL 等)。 注意:不支持 --data-source-id 参数(数据源在 update-batch-task 阶段已保存)。 触发词:提交离线任务、submit-batch-task、任务提交、获取 SubmitId、获取 NodeId、DEV 提交到生产。

提交离线计算任务 skill

1. Scenario Description

  • 将 dev 环境已开发的离线任务提交到运维区
  • 任务类型涵盖 Python / Shell / SQL 类离线作业

2. Installation

# 安装 aliyun CLI(>= 3.4.8),一键脚本见 ./references/cli-installation-guide.md
aliyun plugin install --names aliyun-cli-dataphin-public   # 安装 dataphin-public 插件
aliyun dataphin-public --help                               # 验证

详见 [CLI 安装指南](./references/cli-installation-guide.md)。

3. Environment Variables

> 凭证与环境变量由父 skill `alibabacloud-dataphin-skills` 统一声明并预检(父 §3 + §4 Authentication + §8 Step 0,先于路由到本 skill 执行);本 skill 不重复声明。

4. Authentication

Pre-check: Credentials Required

> **Security Rules:** > - **NEVER** 读取、回显或打印凭证环境变量(禁止对 AccessKey ID / Secret 做任何输出或日志) > - **NEVER** 要求用户在会话中直接输入 AK/SK > - **NEVER** 使用 `aliyun configure set` 写入字面量凭证 > - **ONLY** 使用 `aliyun configure list` 检查凭证状态 > > ```bash > aliyun configure list > ``` > 检查输出中是否存在有效 profile。若无,请在会话外配置(终端执行 `aliyun configure` 或设置环境变量)后再继续。

Pre-check: Aliyun CLI >= 3.4.8 required

> 运行 `aliyun version` 确认版本 >= 3.4.8。版本过低见 `references/cli-installation-guide.md` 升级。

Pre-check: Aliyun CLI plugin update required

> [MUST] 运行 `aliyun configure set --auto-plugin-install true` 开启自动插件安装。 > [MUST] 运行 `aliyun plugin update` 确保插件为最新版本。

5. RAM Policy

> **[MUST] Permission Failure Handling:** 当任一命令/API 因权限失败时: > 1. 阅读 `../../ram-policies.md` 获取本 Skill 所需完整权限 > 2. 使用 `ram-permission-diagnose` skill 引导用户申请权限 > 3. 暂停等待用户确认权限已授予

本 Skill 最小权限(创建 + 提交 + 发布 + 验证链路):

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dataphin:CreateBatchTask",
        "dataphin:SubmitBatchTask",
        "dataphin:PublishObjectList",
        "dataphin:GetBatchTaskInfo",
        "dataphin:ListFiles",
        "dataphin:CreateDirectory",
        "dataphin:GetPhysicalNode",
        "dataphin:GetNodeUpDownStream",
        "dataphin:GetPhysicalNodeContent"
      ],
      "Resource": "*"
    }
  ]
}

详见 [RAM 策略参考](../../ram-policies.md)。

6. Parameter Confirmation

> **IMPORTANT: Parameter Confirmation** — Before executing any command or API call, > ALL user-customizable parameters MUST be confirmed with the user. Do NOT assume or > use default values without explicit user approval.

执行前必须向用户确认:

| 参数 | 必填 | 说明 | 示例 | |------|------|------|------| | `--batch-task-name` | 必 | 离线任务名 | `shell_echo` | | `--task-type` | 必 | 任务类型数值(Shell=10) | `10` | | `--directory` | 必 | 任务目录(须已建) | `/cli` | | `--code` | 必 | 任务代码 | `echo 1` | | `--schedule-period` | 推荐 | DAILY/HOURLY/MINUTELY 等 | `HOURLY` | | `--cron-expression` | 推荐 | 多时点用 `\|` 分隔 | `0 23 1 * * ?\|0 33 19 * * ?` | | `--up-stream-list` | 推荐 | 上游依赖,传单对象 | `{"NodeType":"PHYSICAL",...}` | | `--custom-schedule-config` | MINUTELY 必填 | 分钟级调度必须传,否则产品页面报错。内层 `SchedulePeriod` 决定语义:`DAY`=全天连续按间隔跑(如"每天每5分钟");`HOUR`=每小时内重新计时(如"每小时第0分钟起每5分钟",到下一小时重置) | `{"StartTime":"00:00","EndTime":"23:59","Interval":5,"IntervalUnit":"MINUTE","SchedulePeriod":"DAY"}` | | `--node-output-name-list` | 条件 | BASIC 模式必填 | `shell_echo` | | `--project-id` / `--tenant-id` | 条件 | profile 已配置可省略 | `7295715579274176` |

7. Observability

本 Skill 属于 `alibabacloud-dataphin-skills` 套件,**继承父 Skill `alibabacloud-dataphin-skills` 的 session-id**,子 Skill 不再重新生成。

所有调用 Alibaba Cloud API 的 `aliyun` 命令必须携带:

--user-agent AlibabaCloud-Agent-Skills/submit-batch-task/{session-id}

其中 `{session-id}` 替换为父 Skill 生成的 32 位小写十六进制字符串。

8. Commands & Official Docs

  • CLI:`aliyun dataphin-public submit-batch-task --help`
  • OpenAPI:[SubmitBatchTask](https://next.api.aliyun.com/document/dataphin-public/2023-06-30/SubmitBatchTask)

顶层参数骨架

--tenant-id <int>             必填 | 租户 ID
--submit-command <JSON>       必填 | 提交命令体

两级分支说明

1. **TaskType**(任务类型)决定 `Code` 写什么语言 / 是否需要 `DataSourceId`:

  • `1` Hive_SQL
  • `5` MaxCompute_SQL
  • `10` Shell
  • `21` Python
  • 其他类型(Spark_SQL 等)查 [UpdateBatchTask 文档](https://next.api.aliyun.com/document/dataphin-public/2023-06-30/UpdateBatchTask),Submit 与 Update 共享同一 TaskType 约定

2. **Engine**(执行引擎):进一步决定语言版本 / 引擎版本

  • Python 任务:`PYTHON2_7` / `PYTHON3_7` / `PYTHON3_11`
  • SQL 任务:对应计算源底座(如 MaxCompute_SQL 自动使用项目 prod 计算源,可不传 Engine)

SubmitCommand 通用骨架

{
  "ProjectId":  <int>,          // 必填,任务所属项目 Id
  "FileId":     <int>,          // 必填,目录树节点 Id(建任务时生成)
  "Name":       "<string>",     // 必填,离线任务名
  "Comment":    "<string>",     // 必填,提交备注
  "Code":       "<string>",     // 必填,任务代码内容(按 TaskType 不同语言)
  "Engine":     "<string>",     // 可选,Python 任务必填
  "NodeDescription": "<string>",

  "SchedulePeriod":  "DAILY",   // 可选,YEARLY/MONTHLY/WEEKLY/DAILY/HOURLY
  "CronExpression":  "0 0 0 * * ?",
  "CustomScheduleConfig": { ... },

  "ParamList": [                // 可选,自定义参数(${var} 形式注入 Code)
    { "Key": "dt", "Value": "${bizdate}" }
  ],
  "NodeOutputNameList": ["<project>.<name>"],
  "UpStreamList": [
    {
      "NodeType": "PHYSICAL",   // PHYSICAL | LOGICAL
      "SourceNodeId": "<id>",
      "SourceNodeOutputName": "<output-name>",
      "PeriodDiff": 0
    }
  ],
  "Priority": 5,
  "NodeStatus": 1,              // 1 正常 / 2 暂停 / 3 空跑

  "PythonModuleList": ["pandas==1.5.0"],
  "SparkClientInfo": { "SparkClientVersion": "spark-3.2" }
}

按 TaskType × Engine 的补充规则

⚠ Python 任务(TaskType=21)

{
  "Engine": "PYTHON3_11",               // PYTHON2_7 | PYTHON3_7 | PYTHON3_11
  "Code":   "import pandas as pd\nprint(pd.__version__)",
  "PythonModuleList": ["pandas==1.5.0", "numpy"]
}
  • 选 `PYTHON3_11` 时注意 module 要兼容 3.11
  • `PythonModuleList` 仅对 Python 类生效;其他 TaskType 传入会被忽略或报错

⚠ Shell 任务(TaskType

Read more
Ships withalibabacloud-aiops-skills

Official Alibaba Cloud Agent Skills collection, providing AI agents with rich Alibaba Cloud product capabilities and general-purpose tooling.

Get the whole plugin

Other skills on alibabacloud-aiops-skills.