[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7181D0CH1WKQ1KECPCF2GEV":3,"skill-same:01M7181D0CH1WKQ1KECPCF2GEV":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M7181D0CH1WKQ1KECPCF2GEV","azure-storage-file-datalake-py",null,"Azure Data Lake Storage Gen2 SDK for Python. Use for hierarchical file systems, big data analytics, and file\u002Fdirectory operations.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fazure-storage-file-datalake-py\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"storage","azure storage","azure","azure storage file datalake py","datalake","file","2026","directory","data analytics","unknown","for","systems","community","use","operations","data","big data","analytics","sdk","python","2026-11-10 10:12:30",false,"---\nname: azure-storage-file-datalake-py\ndescription: Azure Data Lake Storage Gen2 SDK for Python. Use for hierarchical file systems, big data analytics, and file\u002Fdirectory operations.\nrisk: unknown\nsource: community\ndate_added: '2026-02-27'\n---\n\n# Azure Data Lake Storage Gen2 SDK for Python\n\nHierarchical file system for big data analytics workloads.\n\n## Installation\n\n```bash\npip install azure-storage-file-datalake azure-identity\n```\n\n## Environment Variables\n\n```bash\nAZURE_STORAGE_ACCOUNT_URL=https:\u002F\u002F\u003Caccount>.dfs.core.windows.net\n```\n\n## Authentication\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.storage.filedatalake import DataLakeServiceClient\n\ncredential = DefaultAzureCredential()\naccount_url = \"https:\u002F\u002F\u003Caccount>.dfs.core.windows.net\"\n\nservice_client = DataLakeServiceClient(account_url=account_url, credential=credential)\n```\n\n## Client Hierarchy\n\n| Client | Purpose |\n|--------|---------|\n| `DataLakeServiceClient` | Account-level operations |\n| `FileSystemClient` | Container (file system) operations |\n| `DataLakeDirectoryClient` | Directory operations |\n| `DataLakeFileClient` | File operations |\n\n## File System Operations\n\n```python\n# Create file system (container)\nfile_system_client = service_client.create_file_system(\"myfilesystem\")\n\n# Get existing\nfile_system_client = service_client.get_file_system_client(\"myfilesystem\")\n\n# Delete\nservice_client.delete_file_system(\"myfilesystem\")\n\n# List file systems\nfor fs in service_client.list_file_systems():\n    print(fs.name)\n```\n\n## Directory Operations\n\n```python\nfile_system_client = service_client.get_file_system_client(\"myfilesystem\")\n\n# Create directory\ndirectory_client = file_system_client.create_directory(\"mydir\")\n\n# Create nested directories\ndirectory_client = file_system_client.create_directory(\"path\u002Fto\u002Fnested\u002Fdir\")\n\n# Get directory client\ndirectory_client = file_system_client.get_directory_client(\"mydir\")\n\n# Delete directory\ndirectory_client.delete_directory()\n\n# Rename\u002Fmove directory\ndirectory_client.rename_directory(new_name=\"myfilesystem\u002Fnewname\")\n```\n\n## File Operations\n\n### Upload File\n\n```python\n# Get file client\nfile_client = file_system_client.get_file_client(\"path\u002Fto\u002Ffile.txt\")\n\n# Upload from local file\nwith open(\"local-file.txt\", \"rb\") as data:\n    file_client.upload_data(data, overwrite=True)\n\n# Upload bytes\nfile_client.upload_data(b\"Hello, Data Lake!\", overwrite=True)\n\n# Append data (for large files)\nfile_client.append_data(data=b\"chunk1\", offset=0, length=6)\nfile_client.append_data(data=b\"chunk2\", offset=6, length=6)\nfile_client.flush_data(12)  # Commit the data\n```\n\n### Download File\n\n```python\nfile_client = file_system_client.get_file_client(\"path\u002Fto\u002Ffile.txt\")\n\n# Download all content\ndownload = file_client.download_file()\ncontent = download.readall()\n\n# Download to file\nwith open(\"downloaded.txt\", \"wb\") as f:\n    download = file_client.download_file()\n    download.readinto(f)\n\n# Download range\ndownload = file_client.download_file(offset=0, length=100)\n```\n\n### Delete File\n\n```python\nfile_client.delete_file()\n```\n\n## List Contents\n\n```python\n# List paths (files and directories)\nfor path in file_system_client.get_paths():\n    print(f\"{'DIR' if path.is_directory else 'FILE'}: {path.name}\")\n\n# List paths in directory\nfor path in file_system_client.get_paths(path=\"mydir\"):\n    print(path.name)\n\n# Recursive listing\nfor path in file_system_client.get_paths(path=\"mydir\", recursive=True):\n    print(path.name)\n```\n\n## File\u002FDirectory Properties\n\n```python\n# Get properties\nproperties = file_client.get_file_properties()\nprint(f\"Size: {properties.size}\")\nprint(f\"Last modified: {properties.last_modified}\")\n\n# Set metadata\nfile_client.set_metadata(metadata={\"processed\": \"true\"})\n```\n\n## Access Control (ACL)\n\n```python\n# Get ACL\nacl = directory_client.get_access_control()\nprint(f\"Owner: {acl['owner']}\")\nprint(f\"Permissions: {acl['permissions']}\")\n\n# Set ACL\ndirectory_client.set_access_control(\n    owner=\"user-id\",\n    permissions=\"rwxr-x---\"\n)\n\n# Update ACL entries\nfrom azure.storage.filedatalake import AccessControlChangeResult\ndirectory_client.update_access_control_recursive(\n    acl=\"user:user-id:rwx\"\n)\n```\n\n## Async Client\n\n```python\nfrom azure.storage.filedatalake.aio import DataLakeServiceClient\nfrom azure.identity.aio import DefaultAzureCredential\n\nasync def datalake_operations():\n    credential = DefaultAzureCredential()\n    \n    async with DataLakeServiceClient(\n        account_url=\"https:\u002F\u002F\u003Caccount>.dfs.core.windows.net\",\n        credential=credential\n    ) as service_client:\n        file_system_client = service_client.get_file_system_client(\"myfilesystem\")\n        file_client = file_system_client.get_file_client(\"test.txt\")\n        \n        await file_client.upload_data(b\"async content\", overwrite=True)\n        \n        download = await file_client.download_file()\n        content = await download.readall()\n\nimport asyncio\nasyncio.run(datalake_operations())\n```\n\n## Best Practices\n\n1. **Use hierarchical namespace** for file system semantics\n2. **Use `append_data` + `flush_data`** for large file uploads\n3. **Set ACLs at directory level** and inherit to children\n4. **Use async client** for high-throughput scenarios\n5. **Use `get_paths` with `recursive=True`** for full directory listing\n6. **Set metadata** for custom file attributes\n7. **Consider Blob API** for simple object storage use cases\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Azure Data Lake Storage Gen2 SDK for Python\n\nHierarchical file system for big data analytics workloads.\n\n## Installation\n\n```bash\npip install azure-storage-file-datalake azure-identity\n```\n\n## Environment Variables\n\n```bash\nAZURE_STORAGE_ACCOUNT_URL=https:\u002F\u002F\u003Caccount>.dfs.core.windows.net\n```\n\n## Authentication\n\n```python\nfrom azure.identity import DefaultAzureCredential\nfrom azure.storage.filedatalake import DataLakeServiceClient\n\ncredential = DefaultAzureCredential()\naccount_url = \"https:\u002F\u002F\u003Caccount>.dfs.core.windows.net\"\n\nservice_client = DataLakeServiceClient(account_url=account_url, credential=credential)\n```\n\n## Client Hierarchy\n\n| Client | Purpose |\n|--------|---------|\n| `DataLakeServiceClient` | Account-level operations |\n| `FileSystemClient` | Container (file system) operations |\n| `DataLakeDirectoryClient` | Directory operations |\n| `DataLakeFileClient` | File operations |\n\n## File System Operations\n\n```python\n# Create file system (container)\nfile_system_client = service_client.create_file_system(\"myfilesystem\")\n\n# Get existing\nfile_system_client = service_client.get_file_system_client(\"myfilesystem\")\n\n# Delete\nservice_client.delete_file_system(\"myfilesystem\")\n\n# List file systems\nfor fs in service_client.list_file_systems():\n    print(fs.name)\n```\n\n## Directory Operations\n\n```python\nfile_system_client = service_client.get_file_system_client(\"myfilesystem\")\n\n# Create directory\ndirectory_client = file_system_client.create_directory(\"mydir\")\n\n# Create nested directories\ndirectory_client = file_system_client.create_directory(\"path\u002Fto\u002Fnested\u002Fdir\")\n\n# Get directory client\ndirectory_client = file_system_client.get_directory_client(\"mydir\")\n\n# Delete directory\ndirectory_client.delete_directory()\n\n# Rename\u002Fmove directory\ndirectory_client.rename_directory(new_name=\"myfilesystem\u002Fnewname\")\n```\n\n## File Operations\n\n### Upload File\n\n```python\n# Get file client\nfile_client = file_system_client.get_file_client(\"path\u002Fto\u002Ffile.txt\")\n\n# Upload from local file\nwith open(\"local-file.txt\", \"rb\") as data:\n    file_client.upload_data(data, overwrite=True)\n\n# Upload bytes\nfile_client.upload_data(b\"Hello, Data Lake!\", overwrite=True)\n\n# Append data (for large files)\nfile_client.append_data(data=b\"chunk1\", offset=0, length=6)\nfile_client.append_data(data=b\"chunk2\", offset=6, length=6)\nfile_client.flush_data(12)  # Commit the data\n```\n\n### Download File\n\n```python\nfile_client = file_system_client.get_file_client(\"path\u002Fto\u002Ffile.txt\")\n\n# Download all content\ndownload = file_client.download_file()\ncontent = download.readall()\n\n# Download to file\nwith open(\"downloaded.txt\", \"wb\") as f:\n    download = file_client.download_file()\n    download.readinto(f)\n\n# Download range\ndownload = file_client.download_file(offset=0, length=100)\n```\n\n### Delete File\n\n```python\nfile_client.delete_file()\n```\n\n## List Contents\n\n```python\n# List paths (files and directories)\nfor path in file_system_client.get_paths():\n    print(f\"{'DIR' if path.is_directory else 'FILE'}: {path.name}\")\n\n# List paths in directory\nfor path in file_system_client.get_paths(path=\"mydir\"):\n    print(path.name)\n\n# Recursive listing\nfor path in file_system_client.get_paths(path=\"mydir\", recursive=True):\n    print(path.name)\n```\n\n## File\u002FDirectory Properties\n\n```python\n# Get properties\nproperties = file_client.get_file_properties()\nprint(f\"Size: {properties.size}\")\nprint(f\"Last modified: {properties.last_modified}\")\n\n# Set metadata\nfile_client.set_metadata(metadata={\"processed\": \"true\"})\n```\n\n## Access Control (ACL)\n\n```python\n# Get ACL\nacl = directory_client.get_access_control()\nprint(f\"Owner: {acl['owner']}\")\nprint(f\"Permissions: {acl['permissions']}\")\n\n# Set ACL\ndirectory_client.set_access_control(\n    owner=\"user-id\",\n    permissions=\"rwxr-x---\"\n)\n\n# Update ACL entries\nfrom azure.storage.filedatalake import AccessControlChangeResult\ndirectory_client.update_access_control_recursive(\n    acl=\"user:user-id:rwx\"\n)\n```\n\n## Async Client\n\n```python\nfrom azure.storage.filedatalake.aio import DataLakeServiceClient\nfrom azure.identity.aio import DefaultAzureCredential\n\nasync def datalake_operations():\n    credential = DefaultAzureCredential()\n    \n    async with DataLakeServiceClient(\n        account_url=\"https:\u002F\u002F\u003Caccount>.dfs.core.windows.net\",\n        credential=credential\n    ) as service_client:\n        file_system_client = service_client.get_file_system_client(\"myfilesystem\")\n        file_client = file_system_client.get_file_client(\"test.txt\")\n        \n        await file_client.upload_data(b\"async content\", overwrite=True)\n        \n        download = await file_client.download_file()\n        content = await download.readall()\n\nimport asyncio\nasyncio.run(datalake_operations())\n```\n\n## Best Practices\n\n1. **Use hierarchical namespace** for file system semantics\n2. **Use `append_data` + `flush_data`** for large file uploads\n3. **Set ACLs at directory level** and inherit to children\n4. **Use async client** for high-throughput scenarios\n5. **Use `get_paths` with `recursive=True`** for full directory listing\n6. **Set metadata** for custom file attributes\n7. **Consider Blob API** for simple object storage use cases\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":33,"source":36,"date_added":49,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fglobal\u002Fazure-storage-file-datalake-py","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill azure-storage-file-datalake-py",{"tool":62,"command":63},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill azure-storage-file-datalake-py",{"tool":65,"command":66},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill azure-storage-file-datalake-py","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fazure-storage-file-datalake-py\u002FSKILL.md",true,[],[71,93,118,128,141,160],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":80,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000037","律师与法务",[81,82,83,84,85,86,87,88,89,90,91,92],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":44},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[100,101,102,103,104,105,83,106,107,108,109,110,111,112,39,113,114,115,116,117],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","google","install","read","across","api",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":44},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[125,126,100,111,112,39,113,104,83,115,127,116,117,110,108,107,106,114,105,103],"trend radar","radar","pulse",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":44},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[135,136,137,138,139,140],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":152,"publishedAt":44},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":150,"taxonomyTypeDesc":151},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[143,89,153,154,155,92,111,156,157,158,102,159,114],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":44},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[162,167,168,169,114,170,157,171,172,173,174,175],"status","play","go","latest","github","discover","control","cmd","volume"]