翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ネイティブ AOT コンパイルを使用した .NET Lambda 関数の構築
コール AWS Lambda ドスタート時間を短縮するために、ネイティブ先行 (AOT AWS SAM) コンパイルを利用して、 AWS Serverless Application Model () を使用して .NET 8 AWS Lambda 関数を構築してパッケージ化します。
トピック
.NET 8 ネイティブ AOT の概要
従来の .NET Lambda 関数にはコールドスタート時間があり、それがユーザーエクスペリエンスを損ね、システムのレイテンシーやサーバーレスアプリケーションの使用コストに影響を及ぼしていました。.NET ネイティブ AOT コンパイルを使用すると、Lambda 関数のコールドスタート時間を短縮できます。.NET 8 のネイティブ AOT の詳細については、Dotnet GitHub リポジトリ の「ネイティブ AOT の使用
.NET 8 Lambda 関数 AWS SAM での の使用
(AWS SAM) を使用して .NET 8 Lambda 関数を設定するには、 AWS Serverless Application Model 次の手順を実行します。
-
開発マシンに前提条件をインストールする。
-
AWS SAM テンプレートで .NET 8 Lambda 関数を定義します。
-
を使用してアプリケーションを構築します AWS SAMCLI。
インストール条件
以下がインストールの前提条件となります。
-
の AWS SAMCLI
-
.NET Core CLI
-
Amazon.Lambda.Tools .NET Core Global Tool
-
Docker
AWS SAM CLI のインストール
-
AWS SAM CLI がインストールされているかを確認するには、次のコマンドを実行します。
sam --version
-
をインストールするには、 AWS SAMCLI「」を参照してくださいAWS SAM CLI のインストール。
-
インストールされている のバージョンをアップグレードするにはCLI、 AWS SAM「」を参照してくださいAWS SAM CLI のアップグレード。
.NET Core CLI をインストールする
-
.NET Core CLI をダウンロードしてインストールするには、Microsoft の Web サイトで「.NET のダウンロード
」を参照してください。 -
NET Core CLI の詳細については、「AWS Lambda 開発者ガイド」の「.NET Core CLI」を参照してください。
Amazon.Lambda.Tools .NET Core Global Tool をインストールする
-
次のコマンドを実行します。
dotnet tool install -g Amazon.Lambda.Tools
-
ツールがすでにインストールされている場合には、次のコマンドを実行し、最新バージョンを使用していることを確認します。
dotnet tool update -g Amazon.Lambda.Tools
-
Amazon.Lambda.Tools .NET Core Global Tool の詳細については、「」の「.AWS NET CLI リポジトリの拡張機能
」を参照してください GitHub。
Docker をインストールする
-
ネイティブ AOT を構築に使用するには、Docker をインストールする必要があります。インストール手順については、「AWS SAM CLI で Docker を使用するためのインストール方法」を参照してください。
テンプレートで AWS SAM .NET 8 Lambda 関数を定義する
AWS SAM テンプレートで .NET8 Lambda 関数を定義するには、次の手順を実行します。
-
選択した開始ディレクトリから次のコマンドを実行します。
sam init
を選択して、開始テンプレート
AWS Quick Start Templates
を選択します。Hello World Example
テンプレートを選択します。を入力して、最も人気のあるランタイムとパッケージタイプを使用しないことを選択します
n
。ランタイムには、 を選択します
dotnet8
。パッケージタイプで、 を選択します
Zip
。スターターテンプレートで、 を選択します
Hello World Example using native AOT
。
Docker をインストールする
-
ネイティブ AOT を構築に使用するには、Docker をインストールする必要があります。インストール手順については、「AWS SAM CLI で Docker を使用するためのインストール方法」を参照してください。
Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src/HelloWorldAot/ Handler: bootstrap Runtime: dotnet8 Architectures: - x86_64 Events: HelloWorldAot: Type: Api Properties: Path: /hello Method: get
AWS SAM CLI を使用してアプリケーションを構築する
プロジェクトのルートディレクトリから、sam build
を実行してアプリケーションの構築を開始します。PublishAot
プロパティが .NET 8 プロジェクトファイルで定義されている場合、 AWS SAMCLIはネイティブ AOT コンパイルを使用して構築されます。PublishAot
プロパティの詳細については、Microsoft の .NET ドキュメントの「ネイティブ AOT のデプロイ
関数を構築する際、 AWS SAM CLI は Amazon.Lambda.Tools .NET Core Global Tool を使用する .NET Core CLI を呼び出します。
注記
構築時にプロジェクトの同じディレクトリか親ディレクトリに .sln
ファイルが存在する場合、.sln
ファイルが格納されたディレクトリがコンテナにマウントされます。.sln
ファイルが見つからない場合は、プロジェクトフォルダだけがマウントされます。そのためマルチプロジェクトアプリケーションを構築する場合は、.sln
ファイルが存在することを確認してください。
詳細はこちら
.NET 8 Lambda 関数の構築の詳細については、「 の .NET 8 ランタイムの紹介 AWS Lambda
sam build コマンドのリファレンスについては、「sam build」を参照してください。