
Alicloud Data Lake Dlf
- 259 installs
- 396 repo stars
- Updated July 18, 2026
- cinience/alicloud-skills
alicloud-data-lake-dlf is an agent skill (version 1.0.0) that configures Alibaba Cloud Data Lake Formation catalogs, databases, and tables via OpenAPI for developers provisioning governed lakehouse metadata for analytics
About
alicloud-data-lake-dlf in cinience/alicloud-skills maps to the aliyun-dlf-manage skill for Alibaba Cloud Data Lake Formation (product code DataLake, API version 2020-07-10). Agents confirm region and resource identifiers, discover APIs via OpenAPI metadata, then execute SDK or OpenAPI Explorer calls to list, create, update, and describe lakehouse catalogs, databases, and tables. Credential priority uses ALIBABACLOUD_ACCESS_KEY_ID, ALIBABACLOUD_ACCESS_KEY_SECRET, and optional ALIBABACLOUD_REGION_ID, then ~/.alibabacloud/credentials. A bundled list_openapi_meta_apis.py script inventories available DataLake APIs before mutations. High-frequency patterns favor List and Describe for inventory, Create and Update for provisioning, and Get or Query for status diagnosis. Validation runs py_compile on skill scripts and writes evidence to output/aliyun-dlf-manage/. Developers reach for alicloud-data-lake-dlf when agents must provision governed lakehouse storage metadata, automate DLF catalog setup, or troubleshoot DataLake API workflows on Alibaba Cloud.
- DLF catalog and database provisioning
- Lakehouse table and partition management
- Alibaba Cloud credential and region setup
- Governed metadata for analytics pipelines
- Agent-safe API patterns for data lake ops
Alicloud Data Lake Dlf by the numbers
- 259 all-time installs (skills.sh)
- Ranked #429 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cinience/alicloud-skills --skill alicloud-data-lake-dlfAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 259 |
|---|---|
| repo stars | ★ 396 |
| Last updated | July 18, 2026 |
| Repository | cinience/alicloud-skills ↗ |
How do you provision Alibaba DLF catalogs?
Configure Alibaba Cloud Data Lake Formation (DLF) catalogs, databases, and tables so agents can provision governed lakehouse storage and metadata for analytics workloads.
Who is it for?
Data engineers automating Alibaba Cloud Data Lake Formation catalog and table provisioning through agent-driven OpenAPI workflows.
Skip if: Non-Alibaba lakehouse platforms, ad-hoc SQL-only analytics without DLF metadata governance, or teams without Alibaba Cloud credentials.
When should I use this skill?
User provisions Alibaba DLF catalogs, creates lakehouse databases and tables, or troubleshoots DataLake OpenAPI operations.
What you get
DLF catalog and table resources, OpenAPI inventory artifacts, and validation logs under output/aliyun-dlf-manage/.
- DLF catalog and table resources
- OpenAPI inventory artifacts
- Validation logs in output/aliyun-dlf-manage/
By the numbers
- Skill version 1.0.0 for aliyun-dlf-manage in cinience/alicloud-skills
- Targets DataLake OpenAPI version 2020-07-10
- Bundles list_openapi_meta_apis.py for metadata-first API discovery
Files
Category: service
Data Lake Formation
Use Alibaba Cloud OpenAPI (RPC) with official SDKs or OpenAPI Explorer to manage resources for Data Lake Formation.
Workflow
1) Confirm region, resource identifiers, and desired action. 2) Discover API list and required parameters (see references). 3) Call API with SDK or OpenAPI Explorer. 4) Verify results with describe/list APIs.
AccessKey priority (must follow)
1) Environment variables: ALICLOUD_ACCESS_KEY_ID / ALICLOUD_ACCESS_KEY_SECRET / ALICLOUD_REGION_ID Region policy: ALICLOUD_REGION_ID is an optional default. If unset, decide the most reasonable region for the task; if unclear, ask the user. 2) Shared config file: ~/.alibabacloud/credentials
API discovery
- Product code:
DataLake - Default API version:
2020-07-10 - Use OpenAPI metadata endpoints to list APIs and get schemas (see references).
High-frequency operation patterns
1) Inventory/list: prefer List* / Describe* APIs to get current resources. 2) Change/configure: prefer Create* / Update* / Modify* / Set* APIs for mutations. 3) Status/troubleshoot: prefer Get* / Query* / Describe*Status APIs for diagnosis.
Minimal executable quickstart
Use metadata-first discovery before calling business APIs:
python scripts/list_openapi_meta_apis.pyOptional overrides:
python scripts/list_openapi_meta_apis.py --product-code <ProductCode> --version <Version>The script writes API inventory artifacts under the skill output directory.
Output policy
If you need to save responses or generated artifacts, write them under: output/alicloud-data-lake-dlf/
Validation
mkdir -p output/alicloud-data-lake-dlf
for f in skills/data-lake/alicloud-data-lake-dlf/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-data-lake-dlf/validate.txtPass criteria: command exits 0 and output/alicloud-data-lake-dlf/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/alicloud-data-lake-dlf/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
Prerequisites
- Configure least-privilege Alibaba Cloud credentials before execution.
- Prefer environment variables:
ALICLOUD_ACCESS_KEY_ID,ALICLOUD_ACCESS_KEY_SECRET, optionalALICLOUD_REGION_ID. - If region is unclear, ask the user before running mutating operations.
References
- Sources:
references/sources.md
interface:
display_name: "Alibaba Cloud Data Lake DLF"
short_description: "DataLake catalog and governance workflows"
default_prompt: "Use $alicloud-data-lake-dlf to complete this data-lake task on Alibaba Cloud."
Sources
- OpenAPI product page:
https://api.aliyun.com/product/DataLake - API list (metadata):
https://api.aliyun.com/meta/v1/products/DataLake/versions/2020-07-10/api-docs.json - API definition (single API):
https://api.aliyun.com/meta/v1/products/DataLake/versions/2020-07-10/apis/{ApiName}/api.json
#!/usr/bin/env python3
"""Fetch OpenAPI metadata API list for one product/version and save to output/.
Env:
- OPENAPI_META_TIMEOUT (seconds, default: 20)
"""
from __future__ import annotations
import argparse
import json
import os
import pathlib
import urllib.request
DEFAULT_PRODUCT_CODE = "DataLake"
DEFAULT_VERSION = "2020-07-10"
OUTPUT_DIR = pathlib.Path("output/alicloud-data-lake-dlf")
def fetch_json(url: str, timeout: int) -> dict:
req = urllib.request.Request(url, headers={"User-Agent": "codex-skill"})
with urllib.request.urlopen(req, timeout=timeout) as resp:
return json.loads(resp.read().decode("utf-8"))
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--product-code", default=DEFAULT_PRODUCT_CODE)
parser.add_argument("--version", default=DEFAULT_VERSION)
parser.add_argument("--output-dir", default=str(OUTPUT_DIR))
args = parser.parse_args()
timeout = int(os.getenv("OPENAPI_META_TIMEOUT", "20"))
output_dir = pathlib.Path(args.output_dir)
output_dir.mkdir(parents=True, exist_ok=True)
url = (
f"https://api.aliyun.com/meta/v1/products/{args.product_code}"
f"/versions/{args.version}/api-docs.json"
)
payload = fetch_json(url, timeout)
raw_apis = payload.get("apis", {})
if isinstance(raw_apis, dict):
api_names = sorted(raw_apis.keys())
elif isinstance(raw_apis, list):
names = []
for item in raw_apis:
if isinstance(item, dict):
name = item.get("name") or item.get("apiName")
if name:
names.append(name)
elif isinstance(item, str):
names.append(item)
api_names = sorted(set(names))
else:
api_names = []
json_file = output_dir / f"{args.product_code}_{args.version}_api_docs.json"
md_file = output_dir / f"{args.product_code}_{args.version}_api_list.md"
json_file.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8")
md_lines = [
f"# {args.product_code} {args.version} API List",
"",
f"- Source: {url}",
f"- API count: {len(api_names)}",
"",
]
md_lines.extend([f"- `{name}`" for name in api_names])
md_file.write_text("\n".join(md_lines) + "\n", encoding="utf-8")
print(f"Saved: {json_file}")
print(f"Saved: {md_file}")
if __name__ == "__main__":
main()
Related skills
How it compares
Pick alicloud-data-lake-dlf for Alibaba DLF catalog and table OpenAPI provisioning; pick warehouse SQL skills when only query authoring is needed without lakehouse metadata setup.
FAQ
Which Alibaba API does alicloud-data-lake-dlf use?
alicloud-data-lake-dlf targets the DataLake product code with OpenAPI version 2020-07-10, using List, Describe, Create, and Update operations for catalog and table lifecycle management.
How does alicloud-data-lake-dlf discover available APIs?
alicloud-data-lake-dlf runs list_openapi_meta_apis.py to inventory DataLake APIs from OpenAPI metadata before executing SDK or Explorer calls.
Where are alicloud-data-lake-dlf outputs stored?
alicloud-data-lake-dlf saves API responses, command outputs, and validation artifacts under output/aliyun-dlf-manage/ with region and resource identifiers for reproducibility.