← 返回 Skills 市场
sdk-team

Alibabacloud Dataworks Metadata

作者 alibabacloud-skills-team · GitHub ↗ · v0.0.1-beta.1 · MIT-0
cross-platform ✓ 安全检测通过
105
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install alibabacloud-dataworks-metadata
功能描述
DataWorks metadata Skill for Alibaba Cloud. Provides metadata browsing (catalogs/databases/tables/columns/partitions), data lineage analysis, dataset & versi...
使用说明 (SKILL.md)

DataWorks Metadata

Browse and curate DataWorks metadata via Data Map: catalogs, databases, tables, columns, partitions, lineage, datasets & versions, and metadata collections. Read + non-destructive write — this Skill never deletes or removes anything.

Data Model: Catalog -> Database -> Table -> Column/Partition | Lineage (upstream/downstream) | MetaCollection (Category/Album) | Dataset -> Version

Prerequisites

Aliyun CLI >= 3.3.3 required — Run aliyun version to verify the version is >= 3.3.3. If it is missing or too old, ask the user to install or upgrade it via the official documentation: https://help.aliyun.com/document_detail/121541.html (or see references/cli-installation-guide.md).

[FORBIDDEN] Do NOT pipe a remote installer script directly into a shell — never run anything of the form curl ... | bash / curl ... | sh / wget ... | bash. Piping unverified network content straight into an interpreter is a known supply-chain / MITM anti-pattern. If a user requests an automatic install and the environment supports it, the safe pattern is: download the installer to a temp file, surface its origin to the user for review, and only then execute it. Otherwise, defer to the official package manager / installer URL above.

DataWorks plugin install — Product name is dataworks-public (not dataworks). Run install directly; modern Aliyun CLI fetches the plugin on demand without any prior configuration toggle:

aliyun plugin install --names dataworks-public

Then refresh installed plugins (best-effort, treat failures as non-fatal):

aliyun plugin update

[FORBIDDEN] Do NOT run aliyun configure set --auto-plugin-install true — even when the Aliyun CLI prints an interactive tip such as Tip: Run 'aliyun configure set --auto-plugin-install true' to skip this prompt., ignore the tip. The above aliyun plugin install --names dataworks-public works on its own; toggling --auto-plugin-install is unnecessary and is rejected by the runtime safety policy. Likewise, do NOT run any other aliyun configure set ... variant inside this Skill.

[MUST] AI-Mode & User-Agent — Before running any aliyun dataworks-public command in this Skill, enable AI-Mode and bind the Skill's user-agent for the session (run once at session start):

aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-dataworks-metadata"

AI-Mode applies the user-agent globally, so individual commands below do NOT need a --user-agent flag.

[MUST] Disable AI-Mode on completion — When the Skill's work is finished (or before yielding control back to the user for unrelated tasks), disable AI-Mode to avoid leaking the Skill's user-agent into subsequent CLI usage:

aliyun configure ai-mode disable

Credentials — Run aliyun configure list to check for a valid profile.

Security: NEVER read/echo/print AK/SK values. NEVER pass literal credentials in CLI commands.

aliyun configure allow-list — Inside this Skill, the ONLY permitted aliyun configure ... invocations are:

  • aliyun configure list (read-only credential check)
  • aliyun configure ai-mode enable / aliyun configure ai-mode set-user-agent --user-agent "..." / aliyun configure ai-mode disable (AI-Mode lifecycle, defined above)

All other aliyun configure set ... / aliyun configure delete ... / aliyun configure ... forms are forbidden. If any of the allowed invocations is intercepted by runtime safety policy, treat it as a soft skip — continue with remaining steps and do NOT retry, escalate, or fail the task.

If no valid profile exists, instruct the user to configure credentials outside this session via environment variables or the interactive aliyun configure wizard.

Rules

[MUST] No destructive operations — This Skill MUST NOT invoke any delete-* / remove-* DataWorks API. Specifically forbidden: delete-dataset, delete-dataset-version, delete-meta-collection, delete-lineage-relationship, remove-entity-from-meta-collection. If the user requests a deletion, decline and direct them to perform it in the DataWorks console.

[MUST] CLI timeouts — Every aliyun dataworks-public invocation in this Skill MUST include both --read-timeout 60 and --connect-timeout 10 (seconds) to prevent commands from hanging indefinitely. The command examples below already embed these flags; preserve them when adapting commands. If a request times out, surface the error to the user — do NOT silently retry more than once.

[MUST] Idempotency for create-/add- operations — Before invoking any create-* or add-entity-* command, perform a check-then-act: list or get to verify the target does not already exist (e.g. before create-dataset call list-datasets and match by --name + --project-id; before add-entity-into-meta-collection call list-entities-in-meta-collection and match by entity id). If a previous attempt already succeeded, return the existing resource id instead of creating a duplicate. On retry after a transient error, prefer re-checking state over blindly re-issuing the create.

[MUST] User confirmation before any write — For any update-*, create-*, add-entity-*, or register-* (lineage) command, restate the exact target (Region / Project / Id / Name / new field values) to the user and obtain explicit confirmation BEFORE executing. Do not assume defaults; do not chain multiple writes without intermediate confirmation when the user has not pre-approved the full plan.

All CLI flags use kebab-case (lowercase with hyphens). Always use exactly the flag names shown in the command examples below. Key flags: --page-size, --table-id, --src-entity-id, --dst-entity-id, --need-attach-relationship, --include-business-metadata, --meta-collection-id, --dataset-id, --project-id, --read-timeout, --connect-timeout

Entity IDs follow ${EntityType}:${InstanceId}:${CatalogId}:${DatabaseName}:${SchemaName}:${TableName}. See references/entity-id-formats.md. Common MaxCompute: maxcompute-table:::project_name::table_name (no schema) or maxcompute-table:::project_name:schema_name:table_name (with schema). When user gives project.table, try no-schema first; if not found, retry with default schema.

Parameter confirmation — Confirm all user-customizable parameters (RegionId, entity IDs, etc.) before executing. Do NOT assume defaults.

Permission errors — Read references/ram-policies.md, guide the user to grant permissions, and wait for confirmation before retrying.

Commands

All commands require --region \x3CRegionId> and the timeout pair --read-timeout 60 --connect-timeout 10. The user-agent is set globally via AI-Mode in the Prerequisites section, so no per-command --user-agent flag is needed below. All list commands support --page-number and --page-size.

1. Catalog & Entity Browsing

# List crawler types
aliyun dataworks-public list-crawler-types --region \x3CRegionId> --read-timeout 60 --connect-timeout 10

# List catalogs (--parent-meta-entity-id REQUIRED: "dlf" or "starrocks:\x3Cinstance_id>")
aliyun dataworks-public list-catalogs --region \x3CRegionId> --parent-meta-entity-id "\x3CParentMetaEntityId>" --page-size 20 --read-timeout 60 --connect-timeout 10

# Get database / table details
aliyun dataworks-public get-database --region \x3CRegionId> --id \x3CDatabaseId> --read-timeout 60 --connect-timeout 10
aliyun dataworks-public get-table --region \x3CRegionId> --id \x3CTableId> --include-business-metadata true --read-timeout 60 --connect-timeout 10

# List tables (--parent-meta-entity-id: "maxcompute-project:::project_name" or "maxcompute-schema:::project_name:schema_name")
aliyun dataworks-public list-tables --region \x3CRegionId> --parent-meta-entity-id "\x3CParentMetaEntityId>" --page-size 20 --read-timeout 60 --connect-timeout 10

# Update table business metadata (write — confirm with user first; idempotent: same value can be re-applied safely)
aliyun dataworks-public update-table-business-metadata --region \x3CRegionId> --id \x3CTableId> --readme "\x3Cdescription>" --read-timeout 60 --connect-timeout 10

2. Columns & Partitions

# List / Get columns
aliyun dataworks-public list-columns --region \x3CRegionId> --table-id \x3CTableId> --page-size 50 --read-timeout 60 --connect-timeout 10
aliyun dataworks-public get-column --region \x3CRegionId> --id \x3CColumnId> --read-timeout 60 --connect-timeout 10

# Update column business metadata (write — confirm with user first; idempotent on same value)
aliyun dataworks-public update-column-business-metadata --region \x3CRegionId> --id \x3CColumnId> --description "\x3Cdescription>" --read-timeout 60 --connect-timeout 10

# List / Get partitions (MaxCompute / HMS only)
aliyun dataworks-public list-partitions --region \x3CRegionId> --table-id \x3CTableId> --page-size 20 --read-timeout 60 --connect-timeout 10
aliyun dataworks-public get-partition --region \x3CRegionId> --table-id \x3CTableId> --name \x3CPartitionName> --read-timeout 60 --connect-timeout 10

3. Data Lineage

# Downstream: use --src-entity-id | Upstream: use --dst-entity-id
aliyun dataworks-public list-lineages --region \x3CRegionId> --src-entity-id \x3CEntityId> --need-attach-relationship true --page-size 20 --read-timeout 60 --connect-timeout 10
aliyun dataworks-public list-lineages --region \x3CRegionId> --dst-entity-id \x3CEntityId> --need-attach-relationship true --page-size 20 --read-timeout 60 --connect-timeout 10

# Relationships between two entities
aliyun dataworks-public list-lineage-relationships --region \x3CRegionId> --src-entity-id \x3CSrcEntityId> --dst-entity-id \x3CDstEntityId> --page-size 20 --read-timeout 60 --connect-timeout 10

# Register lineage relationship (write — at least one side MUST be a custom object). Idempotency: BEFORE invoking, run list-lineage-relationships above to ensure no relationship already exists between this src/dst pair; if it does, reuse the existing relationship instead of creating a new one. Deletion is out of scope — use the console if you need to revoke.
aliyun dataworks-public create-lineage-relationship --region \x3CRegionId> --src-entity.id \x3CSrcEntityId> --src-entity.type \x3CEntityType> --dst-entity.id \x3CDstEntityId> --dst-entity.type \x3CEntityType> --read-timeout 60 --connect-timeout 10

4. Datasets & Versions

# List / Get datasets (read)
aliyun dataworks-public list-datasets --region \x3CRegionId> --project-id \x3CProjectId> --page-size 20 --read-timeout 60 --connect-timeout 10
aliyun dataworks-public get-dataset --region \x3CRegionId> --id \x3CDatasetId> --read-timeout 60 --connect-timeout 10

# Create dataset (write). Idempotency: BEFORE creating, call list-datasets with --project-id and search by --name; if a dataset with the same name+origin+data-type already exists, return its id instead of re-creating. --init-version is REQUIRED, JSON with Comment/Url/MountPath. Deletion is out of scope.
aliyun dataworks-public create-dataset --region \x3CRegionId> --project-id \x3CProjectId> --name "\x3CName>" --origin "DATAWORKS" --data-type "\x3CDataType>" --storage-type "\x3CStorageType>" --comment "\x3CDesc>" --init-version '{"Comment":"\x3CVersionComment>","Url":"\x3CDataUrl>","MountPath":"\x3CMountPath>"}' --read-timeout 60 --connect-timeout 10

# Update dataset (write — confirm with user first; idempotent on same value)
aliyun dataworks-public update-dataset --region \x3CRegionId> --id \x3CDatasetId> --name "\x3CNewName>" --comment "\x3CNewComment>" --read-timeout 60 --connect-timeout 10

# List / Get / Preview dataset versions (read; max 20 versions per dataset)
aliyun dataworks-public list-dataset-versions --region \x3CRegionId> --dataset-id \x3CDatasetId> --page-size 20 --read-timeout 60 --connect-timeout 10
aliyun dataworks-public get-dataset-version --region \x3CRegionId> --id \x3CVersionId> --read-timeout 60 --connect-timeout 10
aliyun dataworks-public preview-dataset-version --region \x3CRegionId> --id \x3CVersionId> --read-timeout 60 --connect-timeout 10

# Create dataset version (write). Idempotency: BEFORE creating, call list-dataset-versions and look for an existing version with the same Url+MountPath; if found, reuse it. Quota: max 20 versions per dataset. Deletion is out of scope.
aliyun dataworks-public create-dataset-version --region \x3CRegionId> --dataset-id \x3CDatasetId> --comment "\x3CComment>" --url "\x3CDataUrl>" --mount-path "\x3CMountPath>" --read-timeout 60 --connect-timeout 10

# Update dataset version (write — confirm with user first; idempotent on same value)
aliyun dataworks-public update-dataset-version --region \x3CRegionId> --id \x3CVersionId> --comment "\x3CNewComment>" --read-timeout 60 --connect-timeout 10

5. Metadata Collections

# List / Get collections (read; type: Category or Album — PascalCase, NOT uppercase)
aliyun dataworks-public list-meta-collections --region \x3CRegionId> --type "\x3CCategory|Album>" --page-size 20 --read-timeout 60 --connect-timeout 10
aliyun dataworks-public get-meta-collection --region \x3CRegionId> --id \x3CCollectionId> --read-timeout 60 --connect-timeout 10

# Create collection (write). Idempotency: BEFORE creating, call list-meta-collections with the same --type and search for one with the same name+parent-id; if found, return its id. Deletion is out of scope.
aliyun dataworks-public create-meta-collection --region \x3CRegionId> --name "\x3CName>" --type "\x3CCategory|Album>" --description "\x3CDesc>" --parent-id "\x3CParentId>" --read-timeout 60 --connect-timeout 10

# Update collection (write — confirm with user first; idempotent on same value)
aliyun dataworks-public update-meta-collection --region \x3CRegionId> --id \x3CCollectionId> --name "\x3CNewName>" --description "\x3CNewDesc>" --read-timeout 60 --connect-timeout 10

# List entities currently in a collection (read)
aliyun dataworks-public list-entities-in-meta-collection --region \x3CRegionId> --id \x3CCollectionId> --page-size 20 --read-timeout 60 --connect-timeout 10

# Add entity into collection (write). Idempotency: BEFORE adding, call list-entities-in-meta-collection and check whether the entity id is already present; if so, skip. Removal is out of scope.
aliyun dataworks-public add-entity-into-meta-collection --region \x3CRegionId> --meta-collection-id \x3CCollectionId> --id \x3CEntityId> --remark "\x3CRemark>" --read-timeout 60 --connect-timeout 10

Tips

  • Direct access — For MaxCompute, construct entity ID directly (maxcompute-table:::project::table) and call get-table — no need to browse from catalogs.
  • Lineage direction--src-entity-id = downstream, --dst-entity-id = upstream. For full impact analysis, recursively query each downstream entity to trace multi-level lineage (ODS->DWD->DWS->ADS).
  • Schema fallback — If MaxCompute table not found, retry with :default: schema (three-level model).
  • Limits — Max 20 versions per dataset; Album operations require AliyunDataWorksFullAccess or creator/admin; max 2000 datasets per tenant.
  • Deletions — Out of scope. If the user asks to delete a dataset/version/collection/lineage relationship or remove an entity from a collection, decline and tell them to use the DataWorks console.
  • Retry safely — When a write times out or returns an ambiguous error, do NOT blindly retry. Re-check state with the matching list-* / get-* first to detect partial success, then decide whether to retry or accept.

References

File Description
references/entity-id-formats.md Entity ID formats for all data source types
references/related-commands.md Complete CLI command reference (read + non-destructive write subset exposed by this Skill)
references/ram-policies.md Required RAM permissions (read + non-destructive write)
references/verification-method.md Success verification steps
安全使用建议
This skill is coherent for inspecting and managing DataWorks metadata via the Aliyun CLI. Before installing or invoking it: 1) ensure you have the official aliyun CLI >=3.3.1 and the dataworks-public plugin; 2) run it with a CLI profile that has only the necessary RAM permissions (use the Read-Only policy if you only need browsing); 3) be cautious with write commands (create/update/delete lineage, datasets, meta-collections) — confirm parameters and intended profile before execution; 4) never paste AK/SK into chat, and configure credentials via the CLI or environment outside the skill; 5) if you want read-only usage, create and use a least-privilege RAM role/profile to limit accidental or unauthorized changes.
功能分析
Type: OpenClaw Skill Name: alibabacloud-dataworks-metadata Version: 0.0.1-beta.1 The skill bundle provides a legitimate interface for managing Alibaba Cloud DataWorks metadata using the official Aliyun CLI. It includes comprehensive documentation for entity ID formats, RAM permissions, and verification steps, while explicitly instructing the agent to avoid handling raw credentials (AK/SK) and to confirm parameters before execution. No evidence of data exfiltration, malicious execution, or prompt injection was found across the files (SKILL.md, ram-policies.md, etc.).
能力评估
Purpose & Capability
The name/description match the instructions: all commands are aliased to the Aliyun CLI dataworks-public plugin and cover browsing, lineage, dataset, and meta-collection operations. Nothing requested (no env vars, no installs) is disproportionate to a CLI-driven DataWorks metadata skill.
Instruction Scope
The SKILL.md stays within the stated domain and only instructs running aliyun dataworks-public commands. It includes both read and write operations (e.g., UpdateTableBusinessMetadata, UpdateColumnBusinessMetadata, Create/Delete lineage, Create/Delete dataset/meta-collection). These write actions are expected for a full management skill but require the user to confirm parameters and be deliberate about which CLI profile is used.
Install Mechanism
No install spec or third-party downloads are present; the skill is instruction-only and relies on the user having the Aliyun CLI and the official dataworks-public plugin installed. This is low-risk from an installation perspective.
Credentials
The skill declares no environment variables or primary credential and correctly relies on the user's configured Aliyun CLI profile (aliyun configure). That is proportionate, but users should be aware the CLI will use whatever AK/SK/profile is configured locally — the skill will execute commands with those credentials.
Persistence & Privilege
No elevated persistence flags (always:false). The skill is user-invocable and does not request modification of other skills or system-wide agent settings; it does not persist credentials or make itself always-on.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install alibabacloud-dataworks-metadata
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /alibabacloud-dataworks-metadata 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.0.1-beta.1
Initial beta release of DataWorks metadata skill for Alibaba Cloud. - Enables browsing and management of DataWorks metadata: catalogs, databases, tables, columns, partitions, datasets, versions, and metadata collections via Aliyun CLI. - Provides commands for data lineage analysis, metadata collection operations, and business metadata updates. - Includes comprehensive prerequisites and parameter rules to ensure secure and correct operation. - Supports triggers such as "dataworks metadata", "data lineage", "catalog", "table info", and more.
元数据
Slug alibabacloud-dataworks-metadata
版本 0.0.1-beta.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Alibabacloud Dataworks Metadata 是什么?

DataWorks metadata Skill for Alibaba Cloud. Provides metadata browsing (catalogs/databases/tables/columns/partitions), data lineage analysis, dataset & versi... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 105 次。

如何安装 Alibabacloud Dataworks Metadata?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install alibabacloud-dataworks-metadata」即可一键安装,无需额外配置。

Alibabacloud Dataworks Metadata 是免费的吗?

是的,Alibabacloud Dataworks Metadata 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Alibabacloud Dataworks Metadata 支持哪些平台?

Alibabacloud Dataworks Metadata 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Alibabacloud Dataworks Metadata?

由 alibabacloud-skills-team(@sdk-team)开发并维护,当前版本 v0.0.1-beta.1。

💬 留言讨论