

# 使用 Rust 构建 Lambda 函数
<a name="lambda-rust"></a>

由于 Rust 可编译为原生代码，因而无需专用运行时系统即可在 Lambda 上运行 Rust 代码。因此，请使用 [Rust 运行时系统客户端](https://github.com/aws/aws-lambda-rust-runtime)在本地生成项目，然后使用[仅 OS 运行时](runtimes-provided.md)将其部署到 Lambda。使用仅限操作系统的运行时时，Lambda 会自动使用最新补丁，确保操作系统保持更新状态。

**适用于 Rust 的工具和库**
+ [适用于 Rust 的 Amazon SDK](https://docs.amazonaws.cn/sdk-for-rust/latest/dg/getting-started.html)：适用于 Rust 的 Amazon SDK 提供用于与 Amazon Web Services 基础设施服务进行交互的 Rust API。
+  [适用于 Lambda 的 Rust 运行时客户端](https://github.com/aws/aws-lambda-rust-runtime)：Rust 运行时客户端可以轻松运行用 Rust 编写的 Lambda 函数。
+ [Cargo Lambda](https://www.cargo-lambda.info/guide/what-is-cargo-lambda.html)：这是 Cargo 命令行工具的第三方开源扩展程序，可简化 Rust Lambda 函数的构建和部署过程。
+ [Lambda HTTP](https://github.com/aws/aws-lambda-rust-runtime/tree/main/lambda-http)：此库提供包装程序，以处理 HTTP 事件。
+  [Lambda 扩展](https://github.com/aws/aws-lambda-rust-runtime/tree/main/lambda-extension)：此库支持使用 Rust 写入 Lambda 扩展。
+ [Amazon Lambda 事件](https://crates.io/crates/aws_lambda_events)：此库提供常见事件源集成的类型定义。

**适用于 Rust 的 Lambda 应用程序示例**
+ [基本 Lambda 函数](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/basic-lambda)：此 Rust 函数可演示如何处理基本事件。
+ [具有错误处理功能的 Lambda 函数](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/basic-error-handling)：此 Rust 函数可演示如何在 Lambda 中处理自定义 Rust 错误。
+ [具有共享资源的 Lambda 函数](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/basic-shared-resource)：此 Rust 项目用于初始化共享资源然后再创建 Lambda 函数。
+ [Lambda HTTP 事件](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/http-basic-lambda)：此 Rust 函数可处理 HTTP 事件。
+ [包含 CORS 标头的 Lambda HTTP 事件](https://github.com/aws/aws-lambda-rust-runtime/blob/main//examples/http-cors)：此 Rust 函数使用 Tower 注入 CORS 标头。
+ [Lambda REST API](https://github.com/aws/aws-lambda-rust-runtime/tree/main/examples/http-axum-diesel)：此 REST API 可通过 Axum 和 Diesel 连接到 PostgreSQL 数据库。
+ [无服务器 Rust 演示](https://github.com/aws-samples/serverless-rust-demo/)：此 Rust 项目可演示如何使用 Lambda 的 Rust 库、日志记录、环境变量和 Amazon SDK。
+ [基本 Lambda 扩展](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/extension-basic)：此 Rust 扩展可演示如何处理基本扩展事件。
+ [Lambda Logs Amazon Data Firehose 扩展](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/extension-logs-kinesis-firehose)：此 Rust 扩展可演示如何将 Lambda 日志发送到 Firehose。

**Topics**
+ [定义 Rust Lambda 函数处理程序](rust-handler.md)
+ [使用 Lambda 上下文对象检索 Rust 函数信息](rust-context.md)
+ [使用 Rust 处理 HTTP 事件](rust-http-events.md)
+ [使用 .zip 文件存档部署 Rust Lambda 函数](rust-package.md)
+ [使用 Rust Lambda 函数的层](rust-layers.md)
+ [Rust Lambda 函数日志记录和监控](rust-logging.md)