Azure 文件共享 Python SDK
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/azure-storage-file-share-py。
技能介绍
要解决什么问题
在 Azure 上跑 SMB 文件共享时,常见路径是用连接字符串或账号密钥直连 Storage。这类做法在 Entra 审计、密钥轮换和 RBAC 上都比较弱,也不利于本地开发与托管标识之间同一套代码切换。若还要做目录树管理、大文件流式读写、局部区间更新或变更前快照,直接翻 REST 文档成本高,也容易在同步/异步客户端混用、资源未释放上踩坑。
技能如何组织能力
本技能围绕 azure-storage-fileshare 的客户端分层:ShareServiceClient(账户级)、ShareClient(共享)、ShareDirectoryClient(目录)、ShareFileClient(文件)。示例强调两条贯穿规则:优先 DefaultAzureCredential(本地 Azure CLI/VS Code 与云端托管/工作负载标识同一套鉴权),以及 同步 with / 异步 async with 包裹客户端与异步凭据,避免 HTTP 连接与令牌缓存泄漏。
核心操作可按场景串联:创建/列出/删除共享;在共享内创建目录、列举内容、删除目录;上传/下载文件、读属性、删除与复制;对大对象用 chunks() 流式处理;需要局部更新时用 区间(range) 上传/下载;重大变更前 创建快照 并访问快照视图。异步路径使用 azure.storage.fileshare.aio 与 azure.identity.aio,要求同一调用链只选一种模式。
适用边界与注意点
- 技能聚焦 File Share(SMB 语义),不是 Blob 容器或 Data Lake 专用 API。
- 生产环境应配合 Microsoft Entra ID + RBAC,并可通过
AZURE_TOKEN_CREDENTIALS收紧凭据链;避免在生产依赖连接字符串。 - 参考
references/capabilities.md与references/non-hero-scenarios.md可补充非核心能力与高级场景;配额(quota)与快照策略需自行按成本与合规设定。
使用场景
- 把本地 SMB 应用迁到 Azure 后,用 Python 脚本批量创建共享、目录并上传遗留配置文件
- 生产发布前对关键共享打快照,出错时按快照视图核对或回滚文件内容
- 大体积日志或镜像写入 File Share 时,用 chunks 流式上传并在中途只改文件的某一字节区间
- 托管在 Azure 上的服务用托管标识访问文件共享,本地开发仍用同一套 DefaultAzureCredential 代码
适合人员
- 负责 Windows/SMB 遗留系统上云、需在 Azure Files 上复刻目录结构的迁移工程师
- 编写发布流水线、要在批量改共享内文件前先创建快照的 DevOps 或平台工程师
- 用 Python 读写 Azure 文件共享、并希望在本地 CLI 与云端 RBAC 间统一鉴权的后端开发
- 维护云原生应用、通过 ShareFileClient 做区间更新或大文件分块传输的集成开发