

# Rust で Lambda 関数を構築する
<a name="lambda-rust"></a>

Rust はネイティブコードにコンパイルするため、Lambda で Rust コードを実行するために専用のランタイムは必要ありません。代わりに、[Rust ランタイムクライアント](https://github.com/aws/aws-lambda-rust-runtime)を使用してプロジェクトをローカルに構築したら、[OS 専用のランタイム](runtimes-provided.md)を使用して Lambda にデプロイします。OS 専用のランタイムを使用するとき、Lambda は最新のパッチを使用してオペレーティングシステムを自動的に最新の状態に保ちます。

**Rust 用のツールおよびライブラリ**
+ [AWS SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/getting-started.html): AWS SDK for Rust は、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): Rust Lambda 関数の構築およびデプロイを簡素化する Cargo コマンドラインのツールによるサードパーティーのオープンソース拡張機能です。
+ 「[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 拡張機能を作成するためのサポートを提供します。
+ 「[AWS 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)」: Lambda でカスタム Rust エラーの処理方法を示す Rust 関数。
+ 「[共有リソースを使用する Lambda 関数](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/basic-shared-resource)」: Lambda 関数を作成する前に共有リソースを初期化する Rust プロジェクト。
+ 「[Lambda HTTP イベント](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/http-basic-lambda)」: HTTP イベントを処理する Rust 関数。
+ 「[CORS ヘッダー付き Lambda HTTP イベント](https://github.com/aws/aws-lambda-rust-runtime/blob/main//examples/http-cors)」: Tower を使用して CORS ヘッダーを挿入する Rust 関数。
+ 「[Lambda REST API](https://github.com/aws/aws-lambda-rust-runtime/tree/main/examples/http-axum-diesel)」: Axum および Diesel を使用して PostgreSQL データベースに接続する REST API。
+ 「[サーバーレス Rust デモ](https://github.com/aws-samples/serverless-rust-demo/)」: Lambda のライブラリ、ログ記録、環境変数、AWS SDK の使い方を示す Rust プロジェクト。
+ 「[基本的な Lambda 拡張機能](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/extension-basic)」: 基本的な拡張イベントの処理方法を示す Rust 拡張機能。
+ 「[Lambda ログ Amazon Data Firehose 拡張機能](https://github.com/aws/aws-lambda-rust-runtime/blob/main/examples/extension-logs-kinesis-firehose)」: Kinesis Data Firehose に Lambda ログの送信方法を示す Rust 拡張機能。

**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)