Azure 是一个云平台,它使 Rust 开发人员能够生成、部署和管理高性能应用程序。 了解 Azure 的托管选项和服务如何增强 Rust 开发体验。
如果不熟悉云开发,请浏览以下资源以熟悉 Azure:
云生态系统中的 Rust:优点和用例
Rust 由于云应用程序的性能、可靠性和安全保证,其势头正在增强。 虽然云平台传统上侧重于 JavaScript、Python、Java 和 .NET,但 Rust 提供了令人信服的优势:
- 具有安全性的性能:零成本抽象和内存安全使 Rust 非常适合高性能云服务
- 资源使用率低:最小运行时开销和高效的内存管理可降低云成本
- 跨平台兼容性:编写一次,使用云原生方法无缝部署任意位置功能
- 不断增长的生态系统:适用于 Web 服务器的可靠库、异步 I/O、序列化等
Azure 通过 用于 Rust 的 Azure SDK 和适用于 REST API 的标准协议(如 HTTP)为 Rust 应用程序提供多个集成点。 将 Azure 服务与 Rust 应用程序一起使用,而不考虑其托管位置。
注释
用于 Rust 的 Azure SDK 需要 Rust 版本 2021 或更高版本,并支持 Rust 1.67.0 或更高版本。
Rust 和其他语言:独特的优势
Azure 支持许多编程语言进行云开发。 虽然 Rust 仍在 Azure 生态系统中出现,但它带来了独特的优势:
- 无垃圾回收的内存安全
- 线程安全性和强大的并发性
- 资源使用率低的高性能
- 强类型系统和所有权模型
- 跨平台兼容性
通过用于 Rust 的 Azure SDK、REST API 或特定服务的自定义处理程序从 Rust 应用程序访问 Azure 服务。
Azure 服务
Azure 提供大量云服务,可在 Rust 应用程序中独立使用或一起使用。
Rust 开发人员的关键服务类别包括:
创建 Azure 服务:快速入门中心指南
通过 创建免费帐户启动 Azure 之旅,然后访问 Azure 门户中的 快速入门中心 。
在 Azure 门户中每个服务的页面上查找连接信息,以从代码访问资源。
定价层级
定价层确定资源的计费方式。 使用 Azure 定价计算器 估算资源的成本。
免费层资源
使用免费(F0)定价层时,请记住以下限制:
- 订阅可能只允许每个服务一个免费资源。 如果无法创建免费资源,则订阅中可能已有一个资源
- 免费层对每秒事务数(TPS)或每月事务数有限制(TPM)
- 超出这些限制会导致出现超过配额的消息的 HTTP 错误
- 对于卷较高的应用程序,请创建多个资源并使用单个终结点来分发流量
设置开发环境
为 Azure 开发体验的最佳 Rust 设置这些工具:
- 具有以下扩展的 Visual Studio Code:
- Azure 工具 扩展
- rust-analyzer for Rust 语言支持
- Git
- Rust 工具链 - 使用最新的稳定版本
- 用于 Azure 资源的 Azure CLI 管理
- 本地开发工具:
- 用于本地 Functions 开发的 Azure Functions Core Tools
- 用于 容器开发和测试的 Docker
使用 Azure SDK for Rust 箱
使用 用于 Rust 的 Azure SDK 箱以编程方式访问 Azure 服务,其中每个箱提供特定于服务的连接功能。
这些箱提供遵循 Azure SDK 指南 的惯用 Rust API,其功能如下:
- 使用 Microsoft Entra ID 进行身份验证(以前为 Azure AD)
- 使用指数退避自动重试
- 日志记录和分布式跟踪
- 取消支持
- 完全异步/等待支持
在任意位置运行 Rust 代码:在本地、混合环境或云中,同时通过 SDK 与 Azure 服务交互。
将 Rust 应用部署到 Azure
在 Azure 上托管 Rust 应用程序时,请在两种主要方法之间进行选择:
编译为二进制文件:将 Rust 应用程序生成为本机二进制文件,并直接部署到适当的托管服务
容器化:将应用程序打包到容器中,以便部署到基于容器的 Azure 服务
根据应用程序需求从这些托管选项中进行选择:
| 服务 | 部署方法 | 最适合 |
|---|---|---|
| Azure 应用程序服务 | 自定义容器 | Web 应用程序、API |
| Azure Functions | 自定义处理程序 | 事件驱动的无服务器工作负载 |
| Azure 容器应用 | 集装箱 | 微服务、容器化应用程序 |
试用 Rust 快速入门
通过以下快速入门和教程开始使用 Rust on Azure: