开发与工程 ✓ Microsoft · 官方 azure-blob-storagetypescriptjavascriptazure-sdksas-tokensstreamingnodejs

Azure Blob Storage TypeScript 技能

为 TypeScript/JavaScript 应用提供 Azure Blob Storage 的上传、下载与管理实现范式。

FollowSkills 评估 · FSRS-2.0
不推荐
51/ 100 五分制 2.6 / 5
信任安全13 / 25 · 2.6/5

文档推荐 Entra ID、用户委托 SAS、HTTPS、短期令牌和最小权限,并披露了密钥、连接字符串及 SAS 的数据流;但仍展示账户密钥、匿名访问、账户级全权限 SAS,并直接打印 SAS URL,缺少用户确认、密钥泄露后的撤销/回滚流程和更严格的敏感数据处理约束,因此扣分。

可靠稳定8 / 20 · 2.0/5

涵盖安装、认证、容器、Blob、流式传输、SAS 和错误处理,且错误示例包含状态码反馈;但未提供该技能关键路径的专门测试,主文档与引用资料在 uploadStream 参数、浏览器上传 API 等处存在疑似不一致,部分环境和类型假设未验证,因此静态评分受限。

适用触发10 / 15 · 3.3/5

触发词、目标 SDK、Node.js 与浏览器差异及主要使用场景较清楚;但未明确非适用范围、权限前置条件、版本兼容边界或中文使用说明,也未说明中国大陆网络访问 Azure 端点可能存在的环境限制,因此扣分。

规范维护9 / 15 · 3.0/5

文档按安装、认证、操作、SAS、流式模式和最佳实践分层,带 MIT 许可、作者和 1.0.0 版本,并提供引用资料;但当前版本仅写作 12.x,缺少变更日志、明确维护责任、更新路径、FAQ 和系统化限制说明,因此扣分。

有效结果7 / 15 · 2.3/5

能够覆盖 Blob Storage 常见上传、下载、列举、删除、复制、元数据、流式处理及 SAS 生成任务,示例数量充足;但示例存在潜在 API/类型错误,未给出可验证的完整项目输出或测试结果,用户仍可能需要较多校正,因此按静态上限评分。

证据核验4 / 10 · 2.0/5

引用资料链接到 Azure SDK 官方仓库和官方文档,仓库还提供通用 CI、评估工作流和测试代码;但没有该技能专属的验收标准、测试覆盖或执行结果,且本次未执行代码,只能给予有限可审计性。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 不要将账户密钥、连接字符串或 SAS 令牌打印到日志、客户端代码或长期存储中;优先使用用户委托 SAS、HTTPS、短过期时间和最小权限。
  • 在采用示例前核对当前 @azure/storage-blob 版本的真实 API,尤其是 uploadStream、浏览器上传、并发参数和响应流类型。
  • 删除、覆盖、复制和生成写入型 SAS 可能造成外部数据影响;应在应用层加入明确确认、范围限制、审计和恢复策略。
  • Azure 服务端点、身份认证和网络访问可能受中国大陆网络及企业策略影响,部署前需验证可达性。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向使用 @azure/storage-blob 的 TypeScript/JavaScript 开发者,覆盖 Azure Blob Storage 的客户端创建、身份验证和常见存储操作。它提供容器与 Blob 的创建、列举、删除、复制、属性和元数据管理示例,也涵盖块 Blob、追加 Blob、页 Blob、SAS 令牌及流式传输。内容同时说明 Node.js 与浏览器能力差异,并给出错误处理和实践建议。它适合需要快速建立 Azure Blob Storage 集成的编码代理场景,但不是独立运行的存储服务。

提供安装 @azure/storage-blob 与 @azure/identity 的步骤,指导代理读取 Azure 存储账户环境变量并创建 BlobServiceClient、ContainerClient 和 BlobClient。它给出容器创建、列举和删除,Blob 上传、下载、列举、删除和复制,以及属性、元数据和 HTTP 标头管理的 TypeScript/JavaScript 代码。它还展示 Microsoft Entra 凭据、连接字符串、共享密钥和 SAS 令牌认证,SAS 生成,以及块 Blob、追加 Blob和页 Blob 的使用方式。内容包括 Node.js 文件与流操作、浏览器上传、RestError 状态码处理和平台差异。

  1. TypeScript 后端开发者需要将文本、Buffer 或本地文件上传到 Azure Blob Storage 时。
  2. Node.js 应用需要使用流式传输处理大型文件,并显示上传进度时。
  3. 浏览器应用需要通过 SAS 令牌执行客户端 Blob 上传时。
  4. 开发者需要列举容器或 Blob、按前缀筛选并管理虚拟目录时。
  5. 日志或审计系统需要追加 Blob,或虚拟磁盘场景需要页 Blob 时。

优缺点一览

优点
  • 覆盖容器、Blob、认证、SAS、元数据、错误处理和 Node.js/浏览器差异。
  • 示例直接对应 @azure/storage-blob 的主要客户端和操作。
  • 包含流式上传、文件下载、分页 Blob 和多种 Blob 类型的具体模式。
  • README 显示该 TypeScript 技能有 17 个测试场景。
局限
  • 要求 Node.js 18 或更高版本,并依赖 Azure SDK 包。
  • 共享密钥、SAS 生成以及文件和流方法部分仅适用于 Node.js。
  • 示例依赖 Azure 存储账户、环境变量和相应权限;技能本身不提供资源 provisioning。
  • 集合处于积极开发阶段,内容和测试仍可能更新。

如何安装

在项目中运行:

npx skills add microsoft/skills

在安装向导中选择需要的技能。集合技能会安装到所选编码代理的目录,例如 GitHub Copilot 使用的 .github/skills/,多代理场景下也可建立符号链接。该技能的仓库路径为 .github/plugins/azure-sdk-typescript/skills/azure-storage-blob-ts/SKILL.md。使用 SDK 时,项目依赖安装命令为:

npm install @azure/storage-blob @azure/identity

如何使用

将该技能提供给编码代理后,可使用明确触发词,例如:“请用 @azure/storage-blob 和 DefaultAzureCredential 创建 BlobServiceClient,上传文件并处理 RestError。”也可以直接请求“上传、下载、列举或管理 Azure Blob Storage 中的 Blob”。实际账户名称、凭据、连接字符串或 SAS 值需要由项目环境提供;技能未定义独立的配置文件或运行命令。

常见问题

这个技能是否会自动创建 Azure Storage 账户?
不会。它提供 SDK 集成代码和操作模式,但源材料没有说明它会 provisioning 或创建 Azure 资源。
浏览器端是否支持所有认证和文件操作?
不支持。StorageSharedKeyCredential、DefaultAzureCredential、uploadFile、uploadStream、downloadToFile、downloadToBuffer 和 SAS 生成列为 Node.js 专属;浏览器可使用 uploadData 以及匿名或 SAS 访问。
生产环境推荐怎样认证?
技能建议生产环境使用 ManagedIdentityCredential 或 WorkloadIdentityCredential;本地开发推荐 DefaultAzureCredential。
使用这个技能需要支付额外费用吗?
技能仓库采用 MIT 许可证。源材料没有说明 Azure Blob Storage 服务本身的费用。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

相关 Skills