

のバージョン 4 (V4) AWS SDK for .NET がリリースされました。

重要な変更とアプリケーションの移行については、[「移行トピック](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)」を参照してください。

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# コンピューティングサービス AWS Lambda での の使用
<a name="aws-lambda"></a>

は AWS SDK for .NET をサポートしているため AWS Lambda、サーバーのプロビジョニングや管理を行わずにコードを実行できます。詳細については、[AWS Lambda 製品ページ](https://aws.amazon.com/lambda/)と[AWS Lambda デベロッパーガイド](https://docs.aws.amazon.com/lambda/latest/dg/)、特に [C\$1 での作業](https://docs.aws.amazon.com/lambda/latest/dg/lambda-csharp.html)に関するセクションを参照してください。

## API
<a name="w2aac19c17b5"></a>

 AWS SDK for .NET には APIs が用意されています AWS Lambda。API を使用すると、[関数](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-concepts.html#gettingstarted-concepts-function)、[トリガー](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-concepts.html#gettingstarted-concepts-trigger)、[イベント](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-concepts.html#gettingstarted-concepts-event)などの Lambda 機能を操作できます。API の全セットを確認するには、「[AWS SDK for .NET API リファレンス](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/)」の「[Lambda](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Lambda/NLambda.html)」を参照してください。

Lambda API は [NuGetパッケージ](https://www.nuget.org/packages?page=2&q=aws%20lambda&sortBy=relevance)によって提供されます。

## 前提条件
<a name="w2aac19c17b7"></a>

開始する前に、[環境をセットアップ](net-dg-config.md)し、[プロジェクトを設定した](configuring-the-sdk.md)ことを確認してください。また、「[SDK の使用](net-dg-sdk-features.md)」の情報を確認してください。

## 追加情報
<a name="w2aac19c17b9"></a>

.NET Aspire AWS Lambda を使用した の開発については、[.NET Aspire AWS との統合](aspire-integrations.md)「」を参照してください。

## トピック
<a name="w2aac19c17c11"></a>

**Topics**
+ [API](#w2aac19c17b5)
+ [前提条件](#w2aac19c17b7)
+ [追加情報](#w2aac19c17b9)
+ [トピック](#w2aac19c17c11)
+ [Lambda Annotations](aws-lambda-annotations.md)

# 注釈を使用して AWS Lambda 関数を記述する
<a name="aws-lambda-annotations"></a>

Lambda 関数を作成する場合、大量のハンドラーコードの記述や AWS CloudFormation テンプレートの更新などのタスクが必要になることがあります。Lambda アノテーションは、.NET 6 Lambda 関数にかかるこうした負担を軽減するためのフレームワークです。これにより、C\$1 で Lambda をより自然に記述できるようになります。

Lambda Annotations フレームワークを使用する利点の例として、2 つの数値を加算する以下のコードスニペットを考えてみましょう。

**Lambda Annotations なし**

```
public class Functions
{
    public APIGatewayProxyResponse LambdaMathPlus(APIGatewayProxyRequest request, ILambdaContext context)
    {
        if (!request.PathParameters.TryGetValue("x", out var xs))
        {
            return new APIGatewayProxyResponse
            {
                StatusCode = (int)HttpStatusCode.BadRequest
            };
        }
        if (!request.PathParameters.TryGetValue("y", out var ys))
        {
            return new APIGatewayProxyResponse
            {
                StatusCode = (int)HttpStatusCode.BadRequest
            };
        }

        var x = int.Parse(xs);
        var y = int.Parse(ys);

        return new APIGatewayProxyResponse
        {
            StatusCode = (int)HttpStatusCode.OK,
            Body = (x + y).ToString(),
            Headers = new Dictionary<string, string> { { "Content-Type", "text/plain" } }
        };
    } 
}
```

**Lambda Annotations あり**

```
public class Functions
{
    [LambdaFunction]
    [RestApi("/plus/{x}/{y}")]
    public int Plus(int x, int y)
    {
        return x + y;
    }
}
```

例に示されているように、Lambda Annotations を使用すると特定のボイラープレートコードが不要になります。

フレームワークの使用方法の詳細については、次のリソースを参照してください。
+ Lambda アノテーションのAPIと属性に関するドキュメントについては、[GitHub のREADME](https://github.com/aws/aws-lambda-dotnet/blob/master/Libraries/src/Amazon.Lambda.Annotations/README.md)を参照してください。
+ Lambda Annotations の[ブログ投稿](https://aws.amazon.com/blogs/developer/net-lambda-annotations-framework/)。
+ [https://www.nuget.org/packages/Amazon.Lambda.Annotations](https://www.nuget.org/packages/Amazon.Lambda.Annotations) NuGet パッケージ。
+ GitHubの [写真アセット管理プロジェクト](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager)。具体的には、[PamapiAnnotations](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/cross-service/PhotoAssetManager/PamApiAnnotations) フォルダーとプロジェクト [README](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/dotnetv3/cross-service/PhotoAssetManager/README.md) の Lambda アノテーションへのリファレンスを参照してください。
**注記**  
前述の例は、 の V3 に固有のものです AWS SDK for .NET。SDK の V4 (最新バージョン) で例を使用する場合、 の情報に従って調整する必要がある場合があります[バージョン 4 への移行](net-dg-v4.md)。