用途:在 Rust 应用中操作 Azure Queue Storage,包括发送、接收、查看(peek)和删除队列消息,以及创建和管理队列。触发场景包括 queue storage rust、QueueClient rust、send message rust、QueueServiceClient rust 等。
主要能力:QueueServiceClient 负责账户级操作与列出队列;QueueClient 由 service_client.queue_client("<name>")? 派生,负责队列内消息的发送、接收、查看与删除。删除消息需使用接收结果中的 message_id 与 pop_receipt。
安装:cargo add azure_storage_queue azure_identity azure_core tokio。仅当代码直接使用 azure_core 类型时才需要直接依赖 azure_core。必须使用 azure-sdk 在 crates.io 发布的官方 azure_storage_queue crate,不要用非官方或社区 crate。
鉴权与配置:环境变量 AZURE_STORAGE_QUEUE_ENDPOINT 为所有操作所需。本地开发用 DeveloperToolsCredential,生产用 ManagedIdentityCredential,Rust 不提供单一 DefaultAzureCredential。Entra ID 鉴权需分配 RBAC 角色,如 Storage Queue Data Reader、Contributor、Message Sender、Message Processor。切勿硬编码凭据。
最佳实践:用 cargo 命令管理依赖;客户端线程安全,创建一次可跨任务复用;处理完消息后及时删除。
限制:仅在任务与上游来源及本地项目上下文明确匹配时使用;应用前需自行验证命令、代码、依赖、凭据与外部服务行为;示例不能替代环境相关测试、安全审查或对破坏性/高成本操作的用户批准。参考资料见 docs.rs、crates.io 与 Azure SDK for Rust 源码。