Estoy tratando de pasar una marca de tiempo de Unix a la solicitud de obtención de API como parámetro a otro sistema para obtener datos. El parámetro debe ser la última vez que se ejecutó AWS Lambda. Necesito almacenar de alguna manera la última vez que la función AWS lambda se encontró con un depósito s3 y también recuperar esa marca de tiempo. Entonces puedo pasar ese valor a la próxima ejecución.
¿Alguien tiene alguna idea sobre cómo hacer algo como esto?
Lambda no almacena ningún último tiempo de ejecución entre invocaciones (especialmente porque es posible que haya invocaciones simultáneas de su Lambda al mismo tiempo).
Dependiendo del caso de uso, si desea que su Lambda lea y escriba, DynamoDB probablemente sea su mejor opción, aunque debe tener en cuenta lo siguiente:
Como alternativa, puede almacenar el valor como un valor de almacenamiento de parámetros , está limitado a 1000 operaciones por segundo, por lo que si no está utilizando solicitudes frecuentes, esto proporcionará una implementación muy simple.
Si no necesita la información dentro de Lambda, puede obtener esta información filtrando los registros de CloudWatch que produce su Lambda. Esto no sería recomendable en su propio Lambda, ya que la duración sería más larga que cualquiera de las opciones anteriores.
Una base de datos rápida a la que puede acceder desde una función AWS Lambda es AWS Systems Manager Parameter Store .
Puede almacenar información simple como ajustes de configuración, direcciones URL a bases de datos e incluso... ¡la última hora de ejecución!
Los permisos de IAM se pueden utilizar para limitar el acceso a parámetros específicos.
AWS Lambda almacena muchas métricas en cada función, incluido el tiempo de invocación. ¿Está utilizando boto3 o algún otro SDK?