Paso 4: Visualizar los resultados de la implementación
En este paso, podrá ver los resultados de la implementación. Si la implementación se realiza correctamente, puede confirmar que la función de Lambda actualizada recibe tráfico de producción. Si se produce un error en la implementación, puede utilizar Registros de CloudWatch para ver el resultado de las pruebas de validación en la función de Lambda que se ejecuta durante los enlaces del ciclo de vida de la implementación.
Prueba de la función implementada
El comando sam deploy actualiza la función de Lambda my-date-time-app-myDateTimeFunction. La versión de la función se actualiza a 2 y se añade al alias live.
Para ver la actualización en la consola de Lambda
Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/
. -
En el panel de navegación, elija la función
my-date-time-app-myDateTimeFunction. En la consola, su nombre contiene un identificador, por lo que tendrá un aspecto similar amy-date-time-app-myDateTimeFunction-123456ABCDEF. -
Elija Qualifiers (Cualificadores) y, a continuación, Aliases (Alias). Una vez completada la implementación (aproximadamente 10 minutos), para el alias
livealias, debería ver Version: 2 (Versión: 2).
-
En Function code (Código de función), consulte el código fuente de la función. Deben aparecer los cambios.
-
Puede utilizar las instrucciones de prueba de Paso 2: Actualizar la función de Lambda para probar la función actualizada (opcional). Cree un nuevo evento de prueba con la siguiente carga y, a continuación, confirme que el resultado contiene la hora, el minuto y el segundo actuales.
{ "option": "time" }Para utilizar la AWS CLI para probar la función actualizada, ejecute el siguiente comando y, a continuación, abra
out.txtpara confirmar que el resultado contiene la hora, el minuto y el segundo actuales.aws lambda invoke --functionyour-function-arn--payload "{\"option\": \"time\"}" out.txtnota
Si utiliza la AWS CLI para probar la función antes de que se complete la implementación, es posible que reciba resultados inesperados. Esto se debe a que CodeDeploy desvía progresivamente el 10 por ciento del tráfico a la versión actualizada cada minuto. Durante la implementación, parte del tráfico sigue apuntando a la versión original, por lo que
aws lambda invokepodría utilizar la versión original. Después de 10 minutos, la implementación se ha completado y todo el tráfico apunta a la nueva versión de la función.
Visualización de eventos de enlace en Registros de CloudWatch
Durante el enlace BeforeAllowTraffic, CodeDeploy ejecuta la función de Lambda CodeDeployHook_beforeAllowTraffic. Durante el enlace AfterAllowTraffic, CodeDeploy ejecuta la función de Lambda CodeDeployHook_afterAllowTraffic. Cada función ejecuta una prueba de validación que invoca la versión actualizada de la función mediante el nuevo parámetro time. Si la actualización de la función de Lambda se realiza correctamente, la opción time no provoca un error y la validación se realiza correctamente. Si la función no se ha actualizado, el parámetro no reconocido provoca un error y la validación falla. Estas pruebas de validación son solo para fines de demostración. Puede escribir sus propias pruebas para validar la implementación. Puede utilizar la consola de Registros de CloudWatch para ver las pruebas de validación.
Para ver los eventos de enlace de CodeDeploy
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
En el panel de navegación, elija Logs (Registros).
-
En la lista de grupos de registros, elija /aws/lambda/CodeDeployHook_beforeAllowTraffic o /aws/lambda/CodeDeployHook_afterAllowTraffic.
-
Elija el flujo de registros. Debe ver solo uno.
-
Expanda los eventos para ver sus detalles.