Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Lambda コンテキストオブジェクトを使用して C# 関数の情報を取得する

フォーカスモード
Lambda コンテキストオブジェクトを使用して C# 関数の情報を取得する - AWS Lambda

Lambda で関数が実行されると、コンテキストオブジェクトがハンドラーに渡されます。このオブジェクトは、呼び出し、関数、および実行関数に関する情報を含むプロパティです。

context プロパティ
  • FunctionName - Lambda 関数の名前。

  • FunctionVersion - 関数のバージョン

  • InvokedFunctionArn - 関数を呼び出すために使用される Amazon リソースネーム (ARN)。呼び出し元でバージョン番号またはエイリアスが指定されているかどうかを示します。

  • MemoryLimitInMB - 関数に割り当てられたメモリの量。

  • AwsRequestId - 呼び出しリクエストの ID。

  • LogGroupName - 関数のロググループ。

  • LogStreamName - 関数インスタンスのログストリーム。

  • RemainingTime (TimeSpan) - 実行がタイムアウトするまでの残りのミリ秒数。

  • Identity - (モバイルアプリケーション) リクエストを認可した Amazon Cognito ID に関する情報。

  • ClientContext - (モバイルアプリケーション) クライアントアプリケーションが Lambda に提供したクライアントコンテキスト。

  • Logger 関数のロガーオブジェクト

モニタリング目的として、ILambdaContext オブジェクトの情報を使用して関数の呼び出しに関する情報を出力できます。次のコードは、構造化ログ記録フレームワークにコンテキスト情報を追加する方法の例を示しています。この例では、関数はログ出力に AwsRequestId を追加します。また、この関数は RemainingTime プロパティを使用して、Lambda 関数のタイムアウトに達しそうな場合にインフライトタスクをキャンセルします。

[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))] namespace GetProductHandler; public class Function { private readonly IDatabaseRepository _repo; public Function() { this._repo = new DatabaseRepository(); } public async Task<APIGatewayProxyResponse> FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) { Logger.AppendKey("AwsRequestId", context.AwsRequestId); var id = request.PathParameters["id"]; using var cts = new CancellationTokenSource(); try { cts.CancelAfter(context.RemainingTime.Add(TimeSpan.FromSeconds(-1))); var databaseRecord = await this._repo.GetById(id, cts.Token); return new APIGatewayProxyResponse { StatusCode = (int)HttpStatusCode.OK, Body = JsonSerializer.Serialize(databaseRecord) }; } catch (Exception ex) { return new APIGatewayProxyResponse { StatusCode = (int)HttpStatusCode.InternalServerError, Body = JsonSerializer.Serialize(new { error = ex.Message }) }; } finally { cts.Cancel(); } } }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.