Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso del objeto de contexto de Lambda para recuperar información de funciones de C#

Modo de enfoque
Uso del objeto de contexto de Lambda para recuperar información de funciones de C# - AWS Lambda

Cuando Lambda ejecuta su función, pasa un objeto context al controlador. Este objeto proporciona propiedades con información acerca de la invocación, la función y el entorno de ejecución.

Propiedades de context
  • FunctionName: el nombre de la función de Lambda.

  • FunctionVersion: la versión de la función.

  • InvokedFunctionArn: el nombre de recurso de Amazon (ARN) que se utiliza para invocar esta función. Indica si el invocador especificó un número de versión o alias.

  • MemoryLimitInMB: cantidad de memoria asignada a la función.

  • AwsRequestId: el identificador de la solicitud de invocación.

  • LogGroupName: grupo de registros de para la función.

  • LogStreamName: el flujo de registro de la instancia de la función.

  • RemainingTime(TimeSpan): el número de milisegundos que quedan antes del tiempo de espera de la ejecución.

  • Identity: (aplicaciones móviles) Información acerca de la identidad de Amazon Cognito que autorizó la solicitud.

  • ClientContext: (aplicaciones móviles) Contexto de cliente proporcionado a Lambda por la aplicación cliente.

  • Logger: el objeto logger para la función.

Puede utilizar información en el objeto ILambdaContext para generar información sobre la invocación de su función con fines de supervisión. El código siguiente proporciona un ejemplo de cómo agregar información de contexto a un marco de registro estructurado. En este ejemplo, la función agrega AwsRequestId a los resultados del registro. La función también utiliza la propiedad RemainingTime para cancelar una tarea en vuelo si está a punto de agotarse el tiempo de espera de la función de 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(); } } }
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.