

# Versiones de tiempo de ejecución de Synthetics
<a name="CloudWatch_Synthetics_Canaries_Library"></a>

Al crear o actualizar un valor controlado, se elige una versión de tiempo de ejecución de Synthetics para este. Un tiempo de ejecución de Synthetics es una combinación del código de Synthetics que llama al controlador de scripts y de las capas Lambda de las dependencias agrupadas.

Actualmente, CloudWatch Synthetics admite tiempos de ejecución que usan los lenguajes Node.js, Python o Java. Los marcos compatibles son Puppeteer, Playwright y Selenium.

Recomendamos utilizar siempre la versión de tiempo de ejecución más reciente para sus valores controlados a fin de poder usar las últimas características y actualizaciones realizadas en la biblioteca de Synthetics.

**Nota**: Siempre que ponga en marcha un canario para utilizar la nueva versión del tiempo de ejecución de Synthetics, todas las funciones de la biblioteca de Synthetics que utilice el canario también se moverán automáticamente a la misma versión de NodeJS que admita el tiempo de ejecución de Synthetics.

**Topics**
+ [Versiones de tiempo de ejecución que utilizan Java](CloudWatch_Synthetics_Library_Java.md)
+ [Versiones en tiempo de ejecución con Node.js y Playwright](CloudWatch_Synthetics_Library_nodejs_playwright.md)
+ [Versiones en tiempo de ejecución con Node.js y Puppeteer](CloudWatch_Synthetics_Library_nodejs_puppeteer.md)
+ [Versiones en tiempo de ejecución con Python y Selenium Webdriver](CloudWatch_Synthetics_Library_python_selenium.md)
+ [Versiones de tiempo de ejecución con Node.js](CloudWatch_Synthetics_Library_Nodejs.md)
+ [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md)
+ [Actualización de las versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Version_Update.md)

# Versiones de tiempo de ejecución que utilizan Java
<a name="CloudWatch_Synthetics_Library_Java"></a>

La siguiente sección contiene información acerca de las versiones de tiempo de ejecución de CloudWatch Synthetics para Java. Este tiempo de ejecución no incluye ningún navegador ni marco.

La convención de nomenclatura de estas versiones de tiempo de ejecución es `syn-language -majorversion.minorversion`. 

## syn-java-1.0
<a name="Synthetics_runtimeversion-syn-java-1.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda Java 21

 **Características** 
+ *Integración con CloudWatch Logs*: puede consultar y filtrar los registros a través de la consola de CloudWatch Synthetics. Cada mensaje de los registros contiene un elemento ` canaryRunId` único, lo que facilita la búsqueda de los registros de una ejecución de canario concreta.
+ *Métricas*: puede supervisar el porcentaje de éxito y la duración de las ejecuciones del canario mediante las métricas de CloudWatch. También puede configurar alarmas que le adviertan cuando los canarios detecten problemas.
+ *Artefactos de canarios*: con cada ejecución de un canario, se carga un informe detallado correspondiente a la ejecución y a los pasos de la ejecución, al que se puede acceder a través de Amazon S3.
+ *Compatibilidad con seguimientos*: puede emitir seguimientos para todas las solicitudes hechas por el canario a través de X-Ray. Cada ejecución del canario está asociada a un ID de rastro.

# Versiones en tiempo de ejecución con Node.js y Playwright
<a name="CloudWatch_Synthetics_Library_nodejs_playwright"></a>

Las siguientes secciones contienen información acerca de las versiones de tiempo de ejecución de CloudWatch Synthetics para Node.js y Playwright. Playwright es una biblioteca de automatización de código abierto para pruebas de navegadores. Para obtener más información sobre Playwright, consulte [https://playwright.dev/](https://playwright.dev). 

La convención de nomenclatura de estas versiones de tiempo de ejecución es `syn-language -framework-majorversion. minorversion`. 

## syn-nodejs-playwright-6.0
<a name="Synthetics_runtimeversion-syn-nodejs-playwright-6.0"></a>

**importante**  
Al iniciar Synthetics `syn-nodejs-playwright-5.1` y versiones posteriores, el tiempo de ejecución de Synthetics usará el nuevo espacio de nombres. Migre el script de canario para usar el nuevo espacio de nombres. El espacio de nombres heredado quedará obsoleto en un futuro lanzamiento.  
@amzn/synthetics-playwright → @aws/synthetics-playwright

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 22.x
+ Versión 1.58.2 de Playwright
+ Versión 1.58.2 de prueba de Playwright
+ Chromium versión 145.0.7632.77
+ Firefox, versión 146.0.1

 **Cambios en syn-nodejs-playwright-6.0** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Playwright y del navegador. 

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Playwright ](https://playwright.dev/docs/release-notes) 
+  [Referencia de la API de Playwright](https://playwright.dev/docs/api/class-playwright) 

## Versiones de tiempo de ejecución anteriores para Node.js y Playwright
<a name="Previousversions-nodejs-playwright"></a>

Las siguientes versiones anteriores de tiempo de ejecución para Node.js y Playwright aún se admiten. 

### syn-nodejs-playwright-5.1
<a name="Synthetics_runtimeversion-syn-nodejs-playwright-5.1"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 22.x
+ Playwright, versión 1.57.0
+ Playwright, versión 1.57.0 de prueba
+ Chromium versión 143.0.7499.169
+ Firefox, versión 142.0.1

 **Cambios en syn-nodejs-playwright-5.1** 
+ Migración del espacio de nombres del tiempo de ejecución de Synthetics. 
+ La definición de tipo está disponible en [npm Registry](https://www.npmjs.com/package/@aws/synthetics-playwright). Asegúrese de que la versión del paquete de definición de tipos coincida con la versión de tiempo de ejecución de su canario.

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Playwright ](https://playwright.dev/docs/release-notes) 
+  [Referencia de la API de Playwright](https://playwright.dev/docs/api/class-playwright) 

### syn-nodejs-playwright-5.0
<a name="Synthetics_runtimeversion-syn-nodejs-playwright-5.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 22.x
+ Playwright, versión 1.57.0
+ Playwright, versión 1.57.0 de prueba
+ Chromium versión 143.0.7499.4
+ Firefox, versión 142.0.1

 **Cambios en syn-nodejs-playwright-5.0** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Playwright y del navegador. 

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Playwright ](https://playwright.dev/docs/release-notes) 
+  [Referencia de la API de Playwright](https://playwright.dev/docs/api/class-playwright) 

### syn-nodejs-playwright-4.0
<a name="Synthetics_runtimeversion-syn-nodejs-playwright-4.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 22.x
+ Playwright, versión 1.55.0
+ Playwright, versión 1.55.0 de prueba
+ Chromium versión 140.0.7339.16
+ Firefox, versión 141.0

 **Cambios en syn-nodejs-playwright-4.0** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Playwright y del navegador. 

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Playwright ](https://playwright.dev/docs/release-notes) 
+  [Referencia de la API de Playwright](https://playwright.dev/docs/api/class-playwright) 

### syn-nodejs-playwright-3.0
<a name="Synthetics_runtimeversion-syn-nodejs-playwright-3.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 20.x
+ Playwright, versión 1.53.0
+ Playwright, versión 1.53.0 de prueba
+ Chromium, versión 138.0.7204.168

 **Cambios en syn-nodejs-playwright-3.0** 
+ Compatibilidad con varios navegadores: ahora puede ejecutar los canarios de Node.js de Puppeteer en Firefox o Chrome
+ Compatibilidad con supervisión visual

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Playwright ](https://playwright.dev/docs/release-notes) 
+  [Referencia de la API de Playwright](https://playwright.dev/docs/api/class-playwright) 

### syn-nodejs-playwright-2.0
<a name="Synthetics_runtimeversion-syn-nodejs-playwright-2.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 20.x
+ Versión 1.49.1 de Playwright
+ Versión 1.49.1 de prueba de Playwright
+ Versión 131.0.6778.264 de Chromium

 **Cambios en syn-nodejs-playwright-2.0** 
+ Se ha corregido el desajuste entre la duración total y la suma de los tiempos de una solicitud determinada en un archivo HAR.
+ Admite simulacros para el canario, lo que permite realizar ejecuciones ad hoc o realizar una actualización segura del canario.

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Playwright ](https://playwright.dev/docs/release-notes) 
+  [Referencia de la API de Playwright](https://playwright.dev/docs/api/class-playwright) 

### syn-nodejs-playwright-1.0
<a name="Synthetics_runtimeversion-syn-nodejs-playwright-1.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 20.x
+ Versión 1.44.1 de Playwright
+ Versión 1.44.1 de prueba de Playwright
+ Versión 126.0.6478.126 de Chromium

**Características**:
+ **Compatibilidad con PlayWright**: puede escribir scripts de canarios mediante el marco de automatización de Playwright. Puede hacer que los scripts de Playwright existentes se ejecuten como canarios y mejorarlos con funcionalidades de supervisión de AWS. 
+ **Integración con CloudWatch Logs**: puede consultar y filtrar los registros a través de la consola de CloudWatch Synthetics. Cada mensaje de los registros contiene un elemento `canaryRunId` único, lo que facilita la búsqueda de los registros de una ejecución de canario concreta. 
+ **Métricas y artefactos de canario**: puede supervisar el índice de aprobación de ejecución de canario a través de las métricas de CloudWatch y configurar alarmas para que le avisen cuando los canarios detecten problemas. 
+ **Capturas de pantalla y asociación de pasos**: puede hacer capturas de pantalla con la funcionalidad nativa de Playwright para visualizar las etapas de un script de canario en cada ejecución. Las capturas de pantalla se asocian automáticamente a los pasos de canarios y se cargan en los buckets de Amazon S3. 
+ **Varias pestañas**: puede crear canarios que abran varias pestañas del navegador y acceder a las capturas de pantalla de cada pestaña. Puede crear flujos de trabajo de usuario con varias pestañas y varios pasos en Synthetics. 

# Versiones en tiempo de ejecución con Node.js y Puppeteer
<a name="CloudWatch_Synthetics_Library_nodejs_puppeteer"></a>

La primera versión en tiempo de ejecución para Node.js y Puppeteer se ha denominado `syn-1.0`. Las versiones posteriores en tiempo de ejecución tienen la convención de nomenclatura `syn-language -majorversion.minorversion`. A partir de `syn-nodejs-puppeteer-3.0`, la convención de nomenclatura es `syn- language-framework-majorversion .minorversion` 

Un sufijo adicional `-beta` muestra que la versión en tiempo de ejecución se encuentra actualmente en una versión preliminar beta.

Las versiones de tiempo de ejecución con el mismo número de versión principal son compatibles con las versiones anteriores. 

El código de Lambda de un valor controlado está configurado para tener una memoria máxima de 1 GB. El tiempo de espera de cada ejecución de un valor controlado se agota transcurrido el valor correspondiente configurado. Si no se especifica ningún valor de tiempo de espera para un valor controlado, CloudWatch elige uno en función de la frecuencia de dicho valor controlado. Si configura un valor de tiempo de espera, haga que no sea inferior a 15 segundos para permitir arranques en frío de Lambda y el tiempo que tarda en arrancar la instrumentación de valor controlado.

## syn-nodejs-puppeteer-15.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-15.0"></a>

`syn-nodejs-puppeteer-15.0` es el tiempo de ejecución más reciente de Synthetics para Node.js y Puppeteer. 

**importante**  
Al iniciar Synthetics `syn-nodejs-puppeteer-13.1` y versiones posteriores, el tiempo de ejecución de Synthetics usará el nuevo espacio de nombres. Migre el script de canario para usar nuevos espacio de nombres. Los espacios de nombres heredados quedarán obsoletos en un futuro lanzamiento.  
Synthetics → @aws/synthetics-puppeteer
SyntheticsLink → @aws/synthetics-link
SyntheticsLogger → @aws/synthetics-logger
SyntheticsLogHelper → @aws/synthetics-log-helper
BrokenLinkCheckerReport → @aws/synthetics-broken-link-checker-report

**importante**  
El tiempo de ejecución de Synthetics `syn-nodejs-puppeteer-11.0` y las versiones posteriores solo admiten las siguientes anulaciones de configuración para cada paso:  
 `screenshotOnStepStart` 
 `screenshotOnStepSuccess` 
 `screenshotOnStepFailure` 
 `stepSuccessMetric` 
 `stepDurationMetric` 
 `continueOnStepFailure/continueOnHttpStepFailure` 
 `stepsReport` 

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Puppeteer](https://pptr.dev/CHANGELOG#24375-2026-02-19) 
+  [Referencia de la API de Puppeteer](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.37.5/docs/api/index.md) 

**Dependencias principales**:
+ Tiempo de ejecución Node.js 22.x de Lambda
+ Puppeteer-core versión 24.37.5
+ Chromium versión 145.0.7632.77
+ Firefox, versión 147.0.4

 **Cambios en syn-nodejs-puppeteer-15.0** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Puppeteer y del navegador.
+ Se corrigió un error por el que no se respetaba continueOnHttpStepFailure, lo que provocaba que las puestas en marcha de canarios se marcaran incorrectamente como correctas a pesar de que se producían errores en los pasos HTTP.

## Versiones de tiempo de ejecución anteriores para Node.js y Puppeteer
<a name="Previousversions-nodejs-puppeteer"></a>

Las siguientes versiones anteriores de tiempo de ejecución para Node.js y Puppeteer aún se admiten. 

### syn-nodejs-puppeteer-14.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-14.0"></a>

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Puppeteer](https://pptr.dev/CHANGELOG#24340-2025-12-19) 
+  [Referencia de la API de Puppeteer](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.34.0/docs/api/index.md) 

**Dependencias principales**:
+ Tiempo de ejecución Node.js 22.x de Lambda
+ Puppeteer-core versión 24.34.0
+ Chromium versión 143.0.7499.169
+ Firefox, versión 146.x

 **Cambios en syn-nodejs-puppeteer-14.0** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Puppeteer y del navegador.

### syn-nodejs-puppeteer-13.1
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-13.1"></a>

`syn-nodejs-puppeteer-13.1` es el tiempo de ejecución más reciente de Synthetics para Node.js y Puppeteer. 

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Puppeteer](https://pptr.dev/CHANGELOG#24250-2025-10-15) 
+  [Referencia de la API de Puppeteer](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependencias principales**:
+ Tiempo de ejecución Node.js 22.x de Lambda
+ Puppeteer-core versión 24.25.0
+ Chromium versión 142.0.7444.175
+ Firefox, versión 145.x

 **Cambios en syn-nodejs-puppeteer-13.1** 
+ Migración del espacio de nombres del tiempo de ejecución de Synthetics.
+ Las definiciones de tipos están disponibles en npm Registry. Asegúrese de que la versión del paquete de definición de tipos coincida con la versión de tiempo de ejecución de su canario.
  +  [ @aws/synthetics-puppeteer](https://www.npmjs.com/package/@aws/synthetics-puppeteer) 
  +  [ @aws/synthetics-link](https://www.npmjs.com/package/@aws/synthetics-link) 
  +  [ @aws/synthetics-broken-link-checker-report](https://www.npmjs.com/package/@aws/synthetics-broken-link-checker-report) 
  +  [ @aws/synthetics-log-helper](https://www.npmjs.com/package/@aws/synthetics-log-helper) 
  +  [ @aws/synthetics-logger](https://www.npmjs.com/package/@aws/synthetics-logger) 

### syn-nodejs-puppeteer-13.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-13.0"></a>

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Puppeteer](https://pptr.dev/CHANGELOG#24250-2025-10-15) 
+  [Referencia de la API de Puppeteer](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependencias principales**:
+ Tiempo de ejecución Node.js 22.x de Lambda
+ Puppeteer-core versión 24.25.0
+ Chromium versión 142.0.7444.175
+ Firefox, versión 145.x

 **Cambios en syn-nodejs-puppeteer-13.0** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Puppeteer y del navegador.
+ Corrección de errores: se corrigió un problema de bloqueo de la extensión en tiempo de ejecución intermitente causado por el acceso simultáneo a la asignación

### syn-nodejs-puppeteer-12.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-12.0"></a>

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Puppeteer](https://pptr.dev/CHANGELOG#24221-2025-09-23) 
+  [Referencia de la API de Puppeteer](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.22.1/docs/api/index.md) 

**Dependencias principales**:
+ Tiempo de ejecución Node.js 22.x de Lambda
+ Versión 24.22.1 de Puppeteer-core
+ Chromium versión 140.0.7339.185
+ Firefox, versión 143.0.1

 **Cambios en syn-nodejs-puppeteer-12.0** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Puppeteer y del navegador.
+ Corrección de errores para la redacción de encabezados restringidos: se corrigió un problema en el que los encabezados restringidos no se redactaban en executeHttpStep() en determinadas situaciones. El comportamiento ahora es coherente con Puppeteer 10.0.
+ Corrección de errores en la configuración de includeResponseBody: se corrigió un problema en el que la generación de archivos HAR podía aplicar incorrectamente el ajuste de configuración de includeResponseBody en determinadas situaciones. HAR ahora garantiza que los cuerpos de respuesta se excluyan al ajustar la configuración.
+ Corrección del ciclo de vida de captura de solicitudes: se corrigió un problema en el que el capturador de solicitudes HTTP podía provocar una agregación continua de solicitudes en determinadas solicitudes. La grabación ahora finaliza correctamente después de la ejecución de cada paso.

### syn-nodejs-puppeteer-11.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-11.0"></a>

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Puppeteer](https://pptr.dev/CHANGELOG) 
+  [Referencia de la API de Puppeteer](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 20.x
+ Puppeteer-core versión 24.15.0
+ Chromium, versión 138.0.7204.168

 **Cambios en syn-nodejs-puppeteer-11.0** 
+ Compatibilidad con varios navegadores: ahora puede ejecutar los canarios de Node.js de Puppeteer en Firefox o Chrome
+ Empaquetado simplificado: empaquete los scripts directamente bajo la raíz sin utilizar la estructura de directorios Node.js/node\$1modules
+ Integración de capturas de pantalla: haga capturas de pantalla con las funciones nativas de Puppeteer para visualizar las etapas del script de los canarios. Synthetics asocia automáticamente las capturas de pantalla con los pasos del canario y las carga en Amazon S3.
+ Consulta de registros mejorada: consulte y filtre los registros a través de la consola de Información de CloudWatch. Cada mensaje del registro incluye un `canaryRunId` único para facilitar la búsqueda.
+ Compatibilidad con archivos de configuración: defina y actualice la configuración de Synthetics mediante un archivo synthetics.json. Esta separación de la configuración de la lógica del script mejora el mantenimiento y la reutilización.
+ Compatibilidad con varias pestañas: puede crear canarios que abran varias pestañas de un navegador y acceder a las capturas de pantalla de cada pestaña. Cree flujos de trabajo de usuario con varias pestañas y varios pasos en Synthetics.
+ Correcciones de seguridad:
+ Corrección de errores en el monitoreo visual.
+ Se agregó compatibilidad con el registro JSON estructurado con niveles de registro configurables: los registros ahora se emiten en formato JSON para facilitar el análisis y las consultas en CloudWatch. El nivel de registro se puede configurar (por ejemplo, DEBUG, INFO, TRACE) mediante variables de entorno, lo que permite a los usuarios controlar el detalle según sus necesidades.
+ Compatibilidad con la sintaxis de ES

### syn-nodejs-puppeteer-10.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-10.0"></a>

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Puppeteer](https://pptr.dev/CHANGELOG) 
+  [Referencia de la API de Puppeteer](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 20.x
+ Puppeteer-core versión 24.2.0
+ Versión 131.0.6778.264 de Chromium

 **Cambios en syn-nodejs-puppeteer-10.0** 
+ Se ha corregido el error relacionado con el cierre del navegador que tardaba demasiado.
+ Admite simulacros para el canario, lo que permite realizar ejecuciones ad hoc o realizar una actualización segura del canario.

### syn-nodejs-puppeteer-9.1
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-9.1"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 20.x
+ Versión 22.12.1 de Puppeteer-core
+ Versión 126.0.6478.126 de Chromium

**Cambios en syn-nodejs-puppeteer-9.1**: se han corregido errores relacionados con intervalos de fechas y solicitudes pendientes en archivos HAR.

### syn-nodejs-puppeteer-9.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-9.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 20.x
+ Versión 22.12.1 de Puppeteer-core
+ Versión 126.0.6478.126 de Chromium

**Cambios en syn-nodejs-puppeteer-9.0**: se ha corregido el error para habilitar las capacidades de monitoreo visual.

### syn-nodejs-puppeteer-8.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-8.0"></a>

**aviso**  
Debido a un error, el tiempo de ejecución `syn-nodejs-puppeteer-8.0` no admite la supervisión visual en los valores controlados. Actualice a [syn-nodejs-puppeteer-9.0](#CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-9.0) para corregir los errores de la supervisión visual.

**importante**  
Los tiempos de ejecución de Lambda Node.js 18 y versiones posteriores utilizan AWS SDK para JavaScript V3. Si necesita migrar un canario desde un tiempo de ejecución anterior, siga el [taller de migración de aws-sdk-js-v3](https://github.com/aws-samples/aws-sdk-js-v3-workshop) en GitHub. Para obtener más información sobre la versión 3 del AWS SDK para JavaScript, consulte [este blog](https://aws.amazon.com/blogs/developer/modular-aws-sdk-for-javascript-is-now-generally-available/).

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 20.x
+ Puppeteer-core versión 22.10.0
+ Chromium versión 125.0.6422.112

**Actualizaciones en syn-nodejs-puppeteer-8.0**:
+  **Compatibilidad con la autenticación multifactor** 
+ Se **corrigieron errores** relacionados con la pérdida de datos de algunos clientes del servicio en las respuestas de la versión 3 del SDK de Node.js.

## Versiones de tiempo de ejecución obsoletas para Node.js y Puppeteer.
<a name="CloudWatch_Synthetics_nodejs-puppeteer-Deprecated"></a>

Los siguientes tiempos de ejecución para Node.js y Puppeteer han quedado obsoletos. Para obtener información sobre las fechas de obsolescencia de los tiempos de ejecución, consulte [Fechas de obsolescencia del tiempo de ejecución de CloudWatch Synthetics](CloudWatch_Synthetics_Runtime_Support_Policy.md#runtime_deprecation_dates).

### syn-nodejs-puppeteer-7.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-7.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 18.x
+ Puppeteer-core versión 21.9.0
+ Chromium versión 121.0.6167.139

**Tamaño del código**:

El tamaño del código y las dependencias que puede empaquetar en este tiempo de ejecución es de 80 MB.

**Actualizaciones en syn-nodejs-puppeteer-7.0**:
+ **Versiones actualizadas de las bibliotecas agrupadas incluidas en Chromium**: las dependencias de Chromium y Puppeteer se actualizan a versiones nuevas.
**importante**  
La migración de Puppeteer 19.7.0 a Puppeteer 21.9.0 introduce cambios importantes en relación con las pruebas y los filtros. Para obtener más información, consulte las secciones de **CAMBIOS IMPORTANTES** en [puppeteer: v20.0.0](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v20.0.0) y [puppeteer-core: v21.0.0](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v21.0.0).

 **Actualización recomendada al SDK v3 de AWS** 

El tiempo de ejecución de Lambda nodejs18.x no es compatible con el SDK v2 de AWS. Se recomienda que migre al SDK v3 de AWS.

### syn-nodejs-puppeteer-6.2
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-6.2"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 18.x
+ Puppeteer-core de versión 19.7.0
+ Chromium versión 111.0.5563.146

**Cambios en syn-nodejs-puppeteer-6.2**:
+  **Versiones actualizadas de las bibliotecas agrupadas incluidas en Chromium** 
+ **Supervisión del almacenamiento efímero**: este tiempo de ejecución agrega la supervisión del almacenamiento efímero en las cuentas de los clientes.
+  **Correcciones de errores** 

### syn-nodejs-puppeteer-6.1
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-6.1"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 18.x
+ Puppeteer-core de versión 19.7.0
+ Chromium versión 111.0.5563.146

**Actualizaciones en syn-nodejs-puppeteer-6.1**:
+ **Mejoras de estabilidad**: se añadió una lógica de reintento automático para administrar los errores de lanzamiento intermitentes de Puppeteer.
+ **Actualizaciones de dependencias**: actualizaciones para algunos paquetes de dependencias de terceros.
+ **Valores controlados sin permisos de Amazon S3**: se han corregido errores para que puedan seguir funcionando los valores controlados que no tengan ningún permiso de Amazon S3. Estos valores controlados que no tengan permisos de Amazon S3 no podrán subir capturas de pantalla u otros artefactos a Amazon S3. Para obtener más información sobre permisos de valores controlados, consulte [Roles y permisos necesarios para los valores controlados](CloudWatch_Synthetics_Canaries_CanaryPermissions.md).

**importante**  
IMPORTANTE: La dependencia incluida de AWS SDK para JavaScript v2 se eliminará y se actualizará para utilizar AWS SDK para JavaScript v3 en una futura versión del tiempo de ejecución. Cuando eso ocurra, podrá actualizar las referencias de su código de valor controlado. Como alternativa, puede seguir haciendo referencia a la dependencia incluida de AWS SDK para JavaScript v2 y utilizarla agregándola como una dependencia a su archivo zip de código fuente.

### syn-nodejs-puppeteer-6.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-6.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 18.x
+ Puppeteer-core de versión 19.7.0
+ Chromium versión 111.0.5563.146

**Actualizaciones en syn-nodejs-puppeteer-6.0**:
+ **Actualización de la dependencia**: la dependencia de Node.js se ha actualizado a la versión 18.x.
+ **Compatibilidad con el modo de intercepción**: se agregó la compatibilidad con el modo de intercepción cooperativa de Puppeteer a la biblioteca de tiempos de ejecución con valores controlados de Synthetics.
+ **Cambio en el comportamiento de rastreo**: se modificó el comportamiento de rastreo predeterminado para rastrear solo las solicitudes de recuperación y xhr, y no las solicitudes de recursos. Puede habilitar el seguimiento de las solicitudes de recursos configurando la opción `traceResourceRequests`.
+ **Métrica de duración mejorada**: la métrica ` Duration` ahora excluye el tiempo de operación que utiliza el valor controlado para cargar artefactos, hacer capturas de pantalla y generar métricas de CloudWatch. Los valores de las métricas de `Duration` se notifican a CloudWatch y también se pueden ver en la consola Synthetics.
+ **Corrección de errores**: limpia el núcleo volcado que se genera cuando Chromium se bloquea durante una ejecución de valor controlado.

**importante**  
IMPORTANTE: La dependencia incluida de AWS SDK para JavaScript v2 se eliminará y se actualizará para utilizar AWS SDK para JavaScript v3 en una futura versión del tiempo de ejecución. Cuando eso ocurra, podrá actualizar las referencias de su código de valor controlado. Como alternativa, puede seguir haciendo referencia a la dependencia incluida de AWS SDK para JavaScript v2 y utilizarla agregándola como una dependencia a su archivo zip de código fuente.

### syn-nodejs-puppeteer-5.2
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-5.2"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 16.x
+ Puppeteer-core de versión 19.7.0
+ Chromium versión 111.0.5563.146

**Actualizaciones en syn-nodejs-puppeteer-5.2**:
+  **Versiones actualizadas de las bibliotecas agrupadas incluidas en Chromium** 
+  **Correcciones de errores** 

### syn-nodejs-puppeteer-5.1
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-5.1"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 16.x
+ Puppeteer-core de versión 19.7.0
+ Chromium versión 111.0.5563.146

**Correcciones de errores en syn-nodejs-puppeteer-5.1**:
+ **Corrección de errores**: este tiempo de ejecución corrige un error en ` syn-nodejs-puppeteer-5.0` por el que a los archivos HAR creados por los valores controlados les faltaban encabezados de solicitud.

### syn-nodejs-puppeteer-5.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-5.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 16.x
+ Puppeteer-core de versión 19.7.0
+ Chromium versión 111.0.5563.146

**Actualizaciones en syn-nodejs-puppeteer-5.0**:
+ **Actualización de dependencias**: la versión básica de Puppeteer-core se ha actualizado a la 19.7.0. La versión de Chromium se ha actualizado a la 111.0.5563.146.

**importante**  
La nueva versión básica de Puppeteer no es totalmente compatible con las versiones anteriores de Puppeteer. Algunos de los cambios de esta versión pueden provocar que los valores controlados existentes que utilizan funciones obsoletas de Puppeteer fallen. Para obtener más información, consulte los cambios importantes en los registros de cambios de las versiones 19.7.0 a 6.0 de Puppeteer-core, en los [registros de cambios de Puppeteer](https://github.com/puppeteer/puppeteer/releases?q=breaking&expanded=true).

### syn-nodejs-puppeteer-4.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-4.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de Lambda Node.js 16.x
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 92.0.4512

**Actualizaciones en syn-nodejs-puppeteer-4.0**:
+ **Actualización de la dependencia**: la dependencia de Node.js se ha actualizado a la versión 16.x.

### syn-nodejs-puppeteer-3.9
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.9"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 8 de enero de 2024. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.js 14.x de Lambda
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 92.0.4512

**Actualizaciones en syn-nodejs-puppeteer-3.9**:
+ **Actualizaciones de dependencias**: actualiza algunos paquetes de dependencias de terceros.

### syn-nodejs-puppeteer-3.8
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.8"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 8 de enero de 2024. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.js 14.x de Lambda
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 92.0.4512

**Actualizaciones en syn-nodejs-puppeteer-3.8**:
+ **Limpieza de perfiles**: los perfiles de Chromium ahora se limpian después de cada ejecución de un valor controlado.

**Correcciones de errores en syn-nodejs-puppeteer-3.8**:
+ **Correcciones de errores**: anteriormente, los valores controlados de supervisión visual a veces dejaban de funcionar correctamente después de una ejecución sin capturas de pantalla. Esto ya está resuelto.

### syn-nodejs-puppeteer-3.7
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.7"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 8 de enero de 2024. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.js 14.x de Lambda
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 92.0.4512

**Actualizaciones en syn-nodejs-puppeteer-3.7**:
+ **Mejoras del registro**: el valor controlado cargará los registros en Amazon S3 incluso si se agota el tiempo de espera o se bloquea.
+ **Reducción del tamaño de la capa de Lambda**: el tamaño de la capa de Lambda utilizada para los valores controlados se reduce en un 34 %.

**Correcciones de errores en syn-nodejs-puppeteer-3.7**:
+ **Correcciones de errores**: las fuentes en japonés, chino simplificado y chino tradicional se representarán correctamente.

### syn-nodejs-puppeteer-3.6
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.6"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 8 de enero de 2024. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.js 14.x de Lambda
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 92.0.4512

**Actualizaciones en syn-nodejs-puppeteer-3.6**:
+ **Marcas de tiempo más precisas**: la hora de inicio y la hora de parada de las ejecuciones de valores controlados ahora tienen una precisión de milisegundos.

### syn-nodejs-puppeteer-3.5
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.5"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 8 de enero de 2024. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.js 14.x de Lambda
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 92.0.4512

**Actualizaciones en syn-nodejs-puppeteer-3.5**:
+ **Dependencias actualizadas**: las únicas características nuevas de este tiempo de ejecución son las dependencias actualizadas.

### syn-nodejs-puppeteer-3.4
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.4"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 13 de noviembre de 2022. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependencias principales**:
+ Tiempo de ejecución Node.js 12.x de Lambda 
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 88.0.4298.0

**Actualizaciones en syn-nodejs-puppeteer-3.4**:
+ **Función de controlador personalizada**: ahora puede utilizar una función de controlador personalizada para los scripts de los valores controlados. Los tiempos de ejecución anteriores requerían que el punto de entrada del script incluyera `.handler`. 

  También puede colocar scripts de valores controlados en cualquier carpeta y pasar el nombre de la carpeta como parte del controlador. Por ejemplo, `MyFolder/MyScriptFile.functionname` se puede utilizar como punto de entrada.
+ **Información ampliada de archivos HAR**: ahora puede ver las solicitudes con fallas, pendientes e incompletas en los archivos HAR producidos por los valores controlados.

### syn-nodejs-puppeteer-3.3
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.3"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 13 de noviembre de 2022. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependencias principales**:
+ Tiempo de ejecución Node.js 12.x de Lambda 
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 88.0.4298.0

**Actualizaciones en syn-nodejs-puppeteer-3.3**:
+ **Más opciones de cifrado de artefactos**: para los valores controlados que utilicen este tiempo de ejecución o posterior, en lugar de utilizar una clave administrada de AWS para cifrar artefactos que el valor controlado almacena en Amazon S3, puede optar por utilizar una clave administrada por el cliente de AWS KMS o una clave administrada por Amazon S3. Para obtener más información, consulte [Cifrado de artefactos de un valor controlado](CloudWatch_Synthetics_artifact_encryption.md). 

### syn-nodejs-puppeteer-3.2
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.2"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 13 de noviembre de 2022. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependencias principales**:
+ Tiempo de ejecución Node.js 12.x de Lambda 
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 88.0.4298.0

**Actualizaciones en syn-nodejs-puppeteer-3.2**:
+ **supervisión visual con capturas de pantalla**: los valores controlados que utilizan este tiempo de ejecución o uno posterior pueden comparar una captura de pantalla que se ha tomado durante una ejecución con una versión de línea de base de la misma captura de pantalla. Si las capturas de pantalla son más diferentes que un umbral de porcentaje especificado, el valor controlado falla. Para obtener más información, consulte [Supervisión visual](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting) o [Proyecto de supervisión visual](CloudWatch_Synthetics_Canaries_Blueprints.md#CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting). 
+ **Nuevas funciones relacionadas con información confidencial** Se puede evitar que la información confidencial aparezca en los registros de valores controlados e informes. Para obtener más información, consulte [Clase de SyntheticSloghelper](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsLogHelper).
+ **Función obsoleta** La clase ` RequestResponseLogHelper` ha quedado obsoleta en favor de otras opciones de configuración nuevas. Para obtener más información, consulte [RequestResponseLogHelper class](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_RequestResponseLogHelper).

### syn-nodejs-puppeteer-3.1
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.1"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 13 de noviembre de 2022. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependencias principales**:
+ Tiempo de ejecución Node.js 12.x de Lambda 
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 88.0.4298.0

**Actualizaciones en syn-nodejs-puppeteer-3.1**:
+ **Capacidad para configurar métricas de CloudWatch**: con este tiempo de ejecución, puede desactivar las métricas que no se necesitan. De lo contrario, los valores controlados publican varias métricas de CloudWatch para cada ejecución de valores controlados.
+ **Vinculación de captura de pantalla**: se puede vincular una captura de pantalla a un paso de valor controlado una vez finalizado el paso. Para ello, tome la captura de pantalla mediante el comando **takeScreenshot**, con el nombre del paso al que desea asociar la captura de pantalla. Por ejemplo, puede que desee realizar un paso, agregar un tiempo de espera y, a continuación, tomar la captura de pantalla.
+ **El esquema de supervisión de latidos puede supervisar varias URL**: se puede utilizar el esquema de supervisión de latidos en la consola de CloudWatch para supervisar varias URL y ver el estado, la duración, las capturas de pantalla asociadas y el motivo del error de cada URL en el resumen de pasos del informe de ejecución del canario.

### syn-nodejs-puppeteer-3.0
<a name="CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-3.0"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 13 de noviembre de 2022. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependencias principales**:
+ Tiempo de ejecución Node.js 12.x de Lambda 
+ Puppeteer-core de versión 5.5.0
+ Chromium versión 88.0.4298.0

**Actualizaciones en syn-nodejs-puppeteer-3.0**:
+ **Relaciones actualizadas**: esta versión utiliza Puppeteer versión 5.5.0, Node.js 12.x y Chromium 88.0.4298.0.
+ **Acceso a buckets entre regiones**: ahora puede especificar un bucket de S3 en otra región como el bucket donde el valor controlado almacena los archivos de registro, capturas de pantalla y archivos HAR.
+ **Nuevas funciones disponibles**: esta versión añade funciones de biblioteca para recuperar el nombre del valor controlado y la versión de tiempo de ejecución de Synthetics.

  Para obtener más información, consulte [Clase de Synthetics](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_Synthetics_Class_all).

### syn-nodejs-2.2
<a name="CloudWatch_Synthetics_runtimeversion-2.2"></a>

Esta sección contiene información sobre la versión de tiempo de ejecución `syn-nodejs-2.2`.

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 28 de mayo de 2021. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.JS 10.x de Lambda 
+ Puppeteer-core de versión 3.3.0
+ Chromium versión 83.0.4103.0

**Cambios en syn-nodejs-puppeteer-2.2**:
+ **Supervise los valores controlados como pasos HTTP**: ahora puede probar varias API en un único valor controlado. Cada API se prueba como un paso HTTP independiente, y CloudWatch Synthetics supervisa el estado de cada paso mediante métricas de pasos y el informe de pasos de CloudWatch Synthetics. CloudWatch Synthetics crea métricas de ` SuccessPercent` y `Duration` para cada paso HTTP.

  Esta funcionalidad la implementa la función **executeHttpStep(stepName, requestOptions, callback, stepConfig)**. Para obtener más información, consulte [executeHttpStep(stepName, requestOptions, [callback], [stepConfig])](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_executeHttpStep).

  El esquema del valor controlado de API se actualiza para utilizar esta nueva característica.
+ **Informes de solicitudes HTTP**: ahora se pueden ver informes detallados de solicitudes HTTP que capturan detalles como las cabeceras de solicitud y de respuesta, cuerpos de respuesta, códigos de estado, tiempos de error y rendimiento, tiempos de conexión TCP, tiempos de enlace TLS, la hora del primer byte y el tiempo de transferencia de contenido. Todas las solicitudes HTTP que utilizan el módulo HTTP o HTTPS que no se ven a simple vista se capturan aquí. Las cabeceras y el cuerpo de respuesta no se capturan de forma predeterminada, pero se pueden habilitar si se establecen opciones de configuración.
+ **Configuración global y a nivel de paso**: se pueden establecer configuraciones de CloudWatch Synthetics globales, que se aplican a todos los pasos de los canarios. También se pueden anular estas configuraciones en el nivel de paso al pasar los pares clave-valor de configuración para habilitar o desactivar determinadas opciones.

  Para obtener más información, consulte [Clase SyntheticsConfiguration](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsConfiguration).
+ **Continúe con la configuración del error del paso**: puede optar por continuar la ejecución del valor controlado cuando un paso falla . Para la función ` executeHttpStep`, esta opción está activada de forma predeterminada. Puede establecer esta opción una vez a nivel global o definirla de manera diferente por paso. 

### syn-nodejs-2.1
<a name="CloudWatch_Synthetics_runtimeversion-2.1"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 28 de mayo de 2021. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.JS 10.x de Lambda 
+ Puppeteer-core de versión 3.3.0
+ Chromium versión 83.0.4103.0

**Actualizaciones en syn-nodejs-2.1**:
+ **Capturas de pantalla de comportamiento configurable**: proporciona la opción de desactivar las capturas de pantalla a través de canaries de UI. En canaries que utilizan versiones anteriores de los tiempos de ejecución, los canaries de UI siempre toman capturas de pantalla antes y después de cada paso. Con `syn-nodejs-2.1`, esto es configurable. La desactivación de las capturas de pantalla puede reducir los costes de almacenamiento de Amazon S3 y puede ayudarlo a cumplir con las normas HIPAA. Para obtener más información, consulte [Clase SyntheticsConfiguration](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsConfiguration).
+ **Personalice los parámetros de inicio de Google Chrome** Ahora puede configurar los argumentos utilizados cuando un valor controlado inicia una ventana del navegador Google Chrome. Para obtener más información, consulte [Lanzamiento (opciones)](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_LaunchOptions).

Puede haber un pequeño aumento en la duración del valor controlado al usar syn-nodejs-2.0 o uno posterior, en comparación con versiones anteriores de los tiempos de ejecución de valores controlados.

### syn-nodejs-2.0
<a name="CloudWatch_Synthetics_runtimeversion-2.0"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 28 de mayo de 2021. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.JS 10.x de Lambda 
+ Puppeteer-core de versión 3.3.0
+ Chromium versión 83.0.4103.0

**Actualizaciones en syn-nodejs-2.0**:
+ **Relaciones actualizadas**: esta versión de tiempo de ejecución utiliza Puppeteer-core versión 3.3.0 y Chromium versión 83.0.4103.0
+ **Soporte para el rastreo activo de X-Ray.** Cuando un canario tiene habilitado el seguimiento, se envían los seguimientos de X-Ray para todas las llamadas que canario ha hecho que utilizan el navegador, el SDK de AWS, o módulos HTTP o HTTPS. Los valores controlados con seguimiento activado aparecen en el mapa de seguimiento de X-Ray, incluso cuando no envían solicitudes a otros servicios o aplicaciones que tienen habilitado el rastreo. Para obtener más información, consulte [Canaries y rastreo X-Ray](CloudWatch_Synthetics_Canaries_tracing.md).
+ **Informes de Synthetics**: para cada ejecución del valor controlado, CloudWatch Synthetics crea un informe llamado ` SyntheticsReport-PASSED.json` o ` SyntheticsReport-FAILED.json` que registra datos, como la hora de inicio, la hora de finalización, el estado y los errores. También registra los estados SUPERADO o NO SUPERADO de cada paso del script de valor controlado, así como los fallos y las capturas de pantalla tomadas para cada paso.
+ **Informe del verificador de enlaces que no funcionan**: la nueva versión del verificador de enlaces que no funcionan que está incluido en este tiempo de ejecución crea un informe que incluye los enlaces que se han verificado, el código de estado, el motivo del error (si existe) y las capturas de pantalla de la página fuente y la de destino.
+ **Nuevas métricas de CloudWatch**: Synthetics publica métricas denominadas `2xx`, `4xx`, `5xx`, y `RequestFailed` en el espacio de nombres de `CloudWatchSynthetics`. Estas métricas muestran el número de 200, 400, 500 y los errores de solicitud en las ejecuciones de los valores controlados. Con esta versión de tiempo de ejecución, estas métricas se notifican solo para canaries de la UI y no para canaries de la API. También se reportan para los canaries de la API que comienzan con la versión de tiempo de ejecución ` syn-nodejs-puppeteeer-2.2`.
+ **Archivos HAR ordenables**: ahora puede ordenar los archivos HAR por código de estado, tamaño de solicitud y duración.
+ **Marca de tiempo de las métricas**: las métricas de CloudWatch ahora se informan según el tiempo de invocación de Lambda en lugar de la hora de finalización de la ejecución del valor controlado.

**Corrección de errores en syn-nodejs-2.0**:
+ Se ha corregido el problema de errores de carga de artefactos de valores controlados que no se notificaban. Ahora aparecen como errores de ejecución.
+ Se ha corregido el problema con respecto a las solicitudes redirigidas (3xx) que se registraban incorrectamente como errores.
+ Se ha corregido el problema con respecto a las capturas de pantalla que se enumeraban a partir de 0. Ahora deben comenzar con 1.
+ Se ha corregido el problema con respecto a las capturas de pantalla que eran ilegibles para caracteres chinos y japoneses.

Puede haber un pequeño aumento en la duración del valor controlado al usar syn-nodejs-2.0 o uno posterior, en comparación con versiones anteriores de los tiempos de ejecución de valores controlados.

### syn-nodejs-2.0-beta
<a name="CloudWatch_Synthetics_runtimeversion-2.0-beta"></a>

**importante**  
Esta versión de tiempo de ejecución quedó obsoleta el 8 de febrero de 2021. Para obtener más información, consulte [Política de soporte de versiones del tiempo de ejecución](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Relaciones principales**:
+ Tiempo de ejecución Node.JS 10.x de Lambda 
+ Puppeteer-core de versión 3.3.0
+ Chromium versión 83.0.4103.0

**Cambios en syn-nodejs-2.0-beta**:
+ **Relaciones actualizadas**: esta versión de tiempo de ejecución utiliza Puppeteer-core versión 3.3.0 y Chromium versión 83.0.4103.0
+ **Informes de Synthetics**: para cada ejecución del valor controlado, CloudWatch Synthetics crea un informe llamado ` SyntheticsReport-PASSED.json` o ` SyntheticsReport-FAILED.json` que registra datos, como la hora de inicio, la hora de finalización, el estado y los errores. También registra los estados SUPERADO o NO SUPERADO de cada paso del script de valor controlado, así como los fallos y las capturas de pantalla tomadas para cada paso.
+ **Informe del verificador de enlaces que no funcionan**: la nueva versión del verificador de enlaces que no funcionan que está incluido en este tiempo de ejecución crea un informe que incluye los enlaces que se han verificado, el código de estado, el motivo del error (si existe) y las capturas de pantalla de la página fuente y la de destino.
+ **Nuevas métricas de CloudWatch**: Synthetics publica métricas denominadas `2xx`, `4xx`, `5xx`, y `RequestFailed` en el espacio de nombres de `CloudWatchSynthetics`. Estas métricas muestran el número de 200, 400, 500 y los errores de solicitud en las ejecuciones de los valores controlados. Estas métricas se notifican solo para los canaries de la UI y no para los canarios de la API.
+ **Archivos HAR ordenables**: ahora puede ordenar los archivos HAR por código de estado, tamaño de solicitud y duración.
+ **Marca de tiempo de las métricas**: las métricas de CloudWatch ahora se informan según el tiempo de invocación de Lambda en lugar de la hora de finalización de la ejecución del valor controlado.

**Corrección de errores en syn-nodejs-2.0-beta**:
+ Se ha corregido el problema de errores de carga de artefactos de valores controlados que no se notificaban. Ahora aparecen como errores de ejecución.
+ Se ha corregido el problema con respecto a las solicitudes redirigidas (3xx) que se registraban incorrectamente como errores.
+ Se ha corregido el problema con respecto a las capturas de pantalla que se enumeraban a partir de 0. Ahora deben comenzar con 1.
+ Se ha corregido el problema con respecto a las capturas de pantalla que eran ilegibles para caracteres chinos y japoneses.

### syn-1.0
<a name="CloudWatch_Synthetics_runtimeversion-1.0"></a>

La primera versión de tiempo de ejecución de Synthetics es `syn-1.0`.

**Relaciones principales**:
+ Tiempo de ejecución Node.JS 10.x de Lambda
+ Puppeteer-core versión 1.14.0
+ La versión de Chromium que coincide con Puppeteer-core 1.14.0

# Versiones en tiempo de ejecución con Python y Selenium Webdriver
<a name="CloudWatch_Synthetics_Library_python_selenium"></a>

Las siguientes secciones contienen información acerca de las versiones de tiempo de ejecución de CloudWatch Synthetics para Python y Selenium Webdriver. Selenium es una herramienta de automatización de navegadores de código abierto. Para obtener más información acerca de Selenium, consulte [www.selenium.dev/](https://www.selenium.dev)

Para conocer las características y los métodos compatibles con el tiempo de ejecución de Synthetics en el marco Selenium, consulte las [clases y funciones de las bibliotecas Python y Selenium que se aplican únicamente a los canarios de la IU](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library_Python.html#CloudWatch_Synthetics_Library_Python_UIcanaries) y la [referencia de la API de Selenium](https://www.selenium.dev/selenium/docs/api/py/api.html).

La convención de nomenclatura de estas versiones de tiempo de ejecución es `syn-language -framework-majorversion. minorversion`.

## Syn-python-selenium-10.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-10.0"></a>

La versión 10.0 es el tiempo de ejecución más reciente de CloudWatch Synthetics para Python y Selenium.

**Dependencias principales**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium versión 145.0.7632.77

**Cambios en syn-python-selenium-10.0 ** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones del navegador.

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Documentación de Selenium](https://www.selenium.dev/selenium/docs/api/py/api.html) 

## Versiones de tiempo de ejecución anteriores para Python y Selenium
<a name="Previousversions-python-selenium"></a>

Las siguientes versiones anteriores de tiempo de ejecución para Python y Selenium aún se admiten. 

### Syn-python-selenium-9.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-9.0"></a>

**Dependencias principales**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium versión 143.0.7499.169

**Cambios en syn-python-selenium-9.0 ** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones del navegador.

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Documentación de Selenium](https://www.selenium.dev/selenium/docs/api/py/api.html) 

### Syn-python-selenium-8.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-8.0"></a>

La versión 8.0 es el tiempo de ejecución más reciente de CloudWatch Synthetics para Python y Selenium.

**Dependencias principales**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium versión 142.0.7444.175

**Cambios en syn-python-selenium-8.0 ** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Selenium y del navegador.
+ Se modificó el nivel de registro de solicitudes de red HAR con errores de ERROR a INFO.

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Documentación de Selenium](https://www.selenium.dev/selenium/docs/api/py/api.html) 

### syn-python-selenium-7.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-7.0"></a>

**Dependencias principales**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium, versión 138.0.7204.168

 **Cambios en syn-python-selenium-7.0 ** 
+ Se aplicaron parches de seguridad y se actualizaron las versiones de Selenium y del navegador.

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Documentación de Selenium](https://www.selenium.dev/selenium/docs/api/py/api.html) 

### syn-python-selenium-6.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-6.0"></a>

**Dependencias principales**:
+ Python 3.11
+ Selenium 4.21.0
+ Versión 131.0.6778.264 de Chromium

 **Cambios en syn-python-selenium-6.0** 
+ Actualice de Python 3.9 a Python 3.11.

Para obtener más información, consulte los siguientes temas:
+  [Registro de cambios de Selenium](https://www.selenium.dev/blog/2024/selenium-4-21-released/) 
+  [Documentación de Selenium](https://www.selenium.dev/selenium/docs/api/py/api.html) 

### syn-python-selenium-5.1
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-5.1"></a>

**Dependencias principales**:
+ Python 3.9
+ Selenium 4.21.0
+ Versión 131.0.6778.264 de Chromium

 **Cambios en syn-python-selenium-5.1** 
+ Actualizaciones menores en la emisión de métricas.
+ Admite simulacros para el canario, lo que permite realizar ejecuciones ad hoc o realizar una actualización segura del canario.

### syn-python-selenium-5.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-5.0"></a>

**Dependencias principales**:
+ Python 3.9
+ Selenium 4.21.0
+ Versión 131.0.6778.264 de Chromium

**Cambios en syn-python-selenium-5.0**:
+ Reintento automático si el navegador no se inicia.

### syn-python-selenium-4.1
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-4.1"></a>

**Dependencias principales**:
+ Python 3.9
+ Selenium 4.15.1
+ Versión 126.0.6478.126 de Chromium

**Cambios en syn-python-selenium-4.1**:
+ **Soluciona una vulnerabilidad de seguridad**: este tiempo de ejecución incluye una actualización para corregir la vulnerabilidad [CVE-2024-39689](https://nvd.nist.gov/vuln/detail/CVE-2024-39689).

### syn-python-selenium-4.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-4.0"></a>

**Dependencias principales**:
+ Python 3.9
+ Selenium 4.15.1
+ Versión 126.0.6478.126 de Chromium

**Cambios en syn-python-selenium-4.0**:
+ **Se corrigieron** errores en el registro del analizador HAR.

## Versiones de tiempo de ejecución obsoletas para Python y Selenium
<a name="Deprecated-python-selenium"></a>

Las siguientes versiones anteriores de tiempo de ejecución para Python y Selenium han quedado obsoletas. Para obtener información sobre las fechas de obsolescencia de los tiempos de ejecución, consulte [Fechas de obsolescencia del tiempo de ejecución de CloudWatch Synthetics](CloudWatch_Synthetics_Runtime_Support_Policy.md#runtime_deprecation_dates).

### syn-python-selenium-3.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-3.0"></a>

**Relaciones principales**:
+ Python 3.8
+ Selenium 4.15.1
+ Chromium versión 121.0.6167.139

**Cambios en syn-python-selenium-3.0**:
+ **Versiones actualizadas de las bibliotecas agrupadas incluidas en Chromium**: la dependencia de Chromium se actualiza a una versión nueva.

### syn-python-selenium-2.1
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-2.1"></a>

**Relaciones principales**:
+ Python 3.8
+ Selenium 4.15.1
+ Chromium versión 111.0.5563.146

**Cambios en syn-python-selenium-2.1**:
+ **Versiones actualizadas de las bibliotecas agrupadas incluidas en Chromium**: las dependencias de Chromium y Selenium se actualizan a versiones nuevas.

### syn-python-selenium-2.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-2.0"></a>

**Relaciones principales**:
+ Python 3.8
+ Selenium 4.10.0
+ Chromium versión 111.0.5563.146

**Cambios en syn-python-selenium-2.0**:
+ **Dependencias actualizadas**: las dependencias de Chromium y Selenium se actualizan a las nuevas versiones.

**Correcciones de errores en syn-python-selenium-2.0**:
+ **Marca de tiempo agregada**: se ha agregado una marca de tiempo los registros de valores controlados.
+ **Reutilización de la sesión**: se ha corregido un error que impedía a los valores controlados reutilizar la sesión de su anterior ejecución.

### syn-python-selenium-1.3
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-1.3"></a>

**Relaciones principales**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versión 92.0.4512.0

**Cambios en syn-python-selenium-1.3**:
+ **Marcas de tiempo más precisas**: la hora de inicio y la hora de parada de las ejecuciones de valores controlados ahora tienen una precisión de milisegundos.

### syn-python-selenium-1.2
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-1.2"></a>

**Relaciones principales**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versión 92.0.4512.0
+ **Dependencias actualizadas**: las únicas características nuevas de este tiempo de ejecución son las dependencias actualizadas.

### syn-python-selenium-1.1
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-1.1"></a>

**Relaciones principales**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versión 83.0.4103.0

**Características**:
+ **Función de controlador personalizada**: ahora puede utilizar una función de controlador personalizada para los scripts de los valores controlados. Los tiempos de ejecución anteriores requerían que el punto de entrada del script incluyera `.handler`. 

  También puede colocar scripts de valores controlados en cualquier carpeta y pasar el nombre de la carpeta como parte del controlador. Por ejemplo, `MyFolder/MyScriptFile.functionname` se puede utilizar como punto de entrada.
+ **Opciones de configuración para agregar métricas y configuraciones de error de pasos**: estas opciones ya estaban disponibles en los tiempos de ejecución para los valores controlados de Node.js. Para obtener más información, consulte  [Clase SyntheticsConfiguration](CloudWatch_Synthetics_Canaries_Library_Python.md#CloudWatch_Synthetics_Library_SyntheticsConfiguration_Python) .
+ **Argumentos personalizados en Chrome**: ahora puede abrir un navegador en el modo de incógnito o pasar con la configuración del servidor proxy. Para obtener más información, consulte [Chrome()](CloudWatch_Synthetics_Canaries_Library_Python.md#CloudWatch_Synthetics_Library_Python_Chrome).
+ **Buckets de artefactos de varias regiones**: un valor controlado puede almacenar sus artefactos en un bucket de Amazon S3 de una región diferente.
+ **Correcciones de errores, incluida una corrección para el problema `index.py`**: con los tiempos de ejecución anteriores, un archivo de valor controlado denominado ` index.py` causaba excepciones porque entraba en conflicto con el nombre del archivo de la biblioteca. Este problema ya está resuelto.

### Syn-python-selenium-1.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-1.0"></a>

**Relaciones principales**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versión 83.0.4103.0

**Características**:
+ **Compatibilidad con Selenium**: puede escribir scripts de valores controlados mediante el marco de prueba de Selenium. Puede llevar los scripts de Selenium desde otro lugar a CloudWatch Synthetics con cambios mínimos, y funcionarán con servicios de AWS.

# Versiones de tiempo de ejecución con Node.js
<a name="CloudWatch_Synthetics_Library_Nodejs"></a>

La siguiente sección contiene información acerca de las versiones de tiempo de ejecución de CloudWatch Synthetics para Node.js. Este tiempo de ejecución no incluye ningún navegador ni marco.

La convención de nomenclatura de estas versiones de tiempo de ejecución es `syn-language -majorversion.minorversion`.

## syn-nodejs-4.1
<a name="CloudWatch_Synthetics_runtimeversion-syn-nodejs-4.1"></a>

**importante**  
Al iniciar Synthetics `syn-nodejs-3.1` y versiones posteriores, el tiempo de ejecución de Synthetics usará el nuevo espacio de nombres. Migre el script de canario para usar el nuevo espacio de nombres. El espacio de nombres heredado quedará obsoleto en un futuro lanzamiento.  
q@amzn/synthetics-core → @aws/synthetics-core

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 22.x

 **Cambios en syn-nodejs-4.1** 
+ Actualice `fast-xml-parser` a la versión 5.5.7 para corregir las siguientes CVE:
  + CVE-2026-25128
  + CVE-2026-25896
  + CVE-2026-26278
  + CVE-2026-27942
  + CVE-2026-33036

## Versiones de tiempo de ejecución anteriores para Node.js
<a name="Previousversions-nodejs"></a>

Las siguientes versiones de tiempo de ejecución anteriores para Node.js aún se admiten. 

### syn-nodejs-4.0
<a name="CloudWatch_Synthetics_runtimeversion-syn-nodejs-4.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 22.x

 **Cambios en syn-nodejs-4.0** 
+ Parches de seguridad aplicados. 

### syn-nodejs-3.1
<a name="CloudWatch_Synthetics_runtimeversion-syn-nodejs-3.1"></a>

**importante**  
Al iniciar Synthetics `syn-nodejs-3.1` y versiones posteriores, el tiempo de ejecución de Synthetics usará el nuevo espacio de nombres. Migre el script de canario para usar el nuevo espacio de nombres. El espacio de nombres heredado quedará obsoleto en un futuro lanzamiento.  
q@amzn/synthetics-core → @aws/synthetics-core

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 20.x

 **Cambios en syn-nodejs-3.1** 
+ Migración del espacio de nombres del tiempo de ejecución de Synthetics. 
+ La definición de tipo está disponible en [npm Registry](https://www.npmjs.com/package/@aws/synthetics-core). Asegúrese de que la versión del paquete de definición de tipos coincida con la versión de tiempo de ejecución de su canario.

### syn-nodejs-3.0
<a name="Synthetics_runtimeversion-syn-nodejs-3.0"></a>

**Dependencias principales**:
+ Tiempo de ejecución de AWS Lambda: Node.js 20.x

 **Cambios en syn-nodejs-3.0** 
+ Compatibilidad con un esquema de varias comprobaciones. 

# Política de soporte de versiones del tiempo de ejecución
<a name="CloudWatch_Synthetics_Runtime_Support_Policy"></a>

Las versiones de tiempo de ejecución de Synthetics están sujetas a operaciones de mantenimiento y actualizaciones de seguridad. Cuando cualquier componente de una versión de tiempo de ejecución deja de ser compatible, dicha versión de tiempo de ejecución de Synthetics queda obsoleta.

No puede crear canaries nuevos con versiones de tiempo de ejecución obsoletas. Los Canaries que utilizan tiempos de ejecución obsoletos siguen ejecutándose. Puede detener, iniciar y eliminar estos canaries. Para actualizar un valor controlado existente que utiliza versiones de tiempo de ejecución obsoletas, actualícelo de forma que utilice una versión de tiempo de ejecución compatible.

CloudWatch Synthetics le notifica por email si tiene canaries que utilizan tiempos de ejecución programados para quedar obsoletos en los próximos 60 días. Se recomienda que migre los canaries a una versión de tiempo de ejecución compatible para beneficiarse de las nuevas mejoras de funcionalidad, seguridad y de rendimiento que se incluyen en las versiones más recientes. 

## Fechas de obsolescencia del tiempo de ejecución de CloudWatch Synthetics
<a name="runtime_deprecation_dates"></a>

La siguiente tabla enumera la fecha de obsolescencia de cada tiempo de ejecución de CloudWatch Synthetics que se encuentra obsoleto.


| Versión de tiempo de ejecución | Fecha de caducidad | 
| --- | --- | 
|   `syn-python-selenium-5.1`   |  3 de febrero de 2026  | 
|   `syn-python-selenium-5.0`   |  3 de febrero de 2026  | 
|   `syn-python-selenium-4.1`   |  3 de febrero de 2026  | 
|   `syn-python-selenium-4.0`   |  3 de febrero de 2026  | 
|   `syn-nodejs-puppeteer-7.0`   |  22 de enero de 2026  | 
|   `syn-nodejs-puppeteer-6.2`   |  22 de enero de 2026  | 
|   `syn-nodejs-puppeteer-5.2`   |  22 de enero de 2026  | 
|   `syn-python-selenium-3.0`   |  22 de enero de 2026  | 
|   `syn-python-selenium-2.1`   |  22 de enero de 2026  | 
|   `syn-nodejs-puppeteer-6.1`   |  8 de marzo de 2024  | 
|   `syn-nodejs-puppeteer-6.0`   |  8 de marzo de 2024  | 
|   `syn-nodejs-puppeteer-5.1`   |  8 de marzo de 2024  | 
|   `syn-nodejs-puppeteer-5.0`   |  8 de marzo de 2024  | 
|   `syn-nodejs-puppeteer-4.0`   |  8 de marzo de 2024  | 
|   `syn-nodejs-puppeteer-3.9`   |  8 de enero de 2024  | 
|   `syn-nodejs-puppeteer-3.8`   |  8 de enero de 2024  | 
|   `syn-python-selenium-2.0`   |  8 de marzo de 2024  | 
|   `syn-python-selenium-1.3`   |  8 de marzo de 2024  | 
|   `syn-python-selenium-1.2`   |  8 de marzo de 2024  | 
|   `syn-python-selenium-1.1`   |  8 de marzo de 2024  | 
|   `syn-python-selenium-1.0`   |  8 de marzo de 2024  | 
|   `syn-nodejs-puppeteer-3.7`   |  8 de enero de 2024  | 
|   `syn-nodejs-puppeteer-3.6`   |  8 de enero de 2024  | 
|   `syn-nodejs-puppeteer-3.5`   |  8 de enero de 2024  | 
|   `syn-nodejs-puppeteer-3.4`   |  13 de noviembre de 2022  | 
|   `syn-nodejs-puppeteer-3.3`   |  13 de noviembre de 2022  | 
|   `syn-nodejs-puppeteer-3.2`   |  13 de noviembre de 2022  | 
|   `syn-nodejs-puppeteer-3.1`   |  13 de noviembre de 2022  | 
|   `syn-nodejs-puppeteer-3.0`   |  13 de noviembre de 2022  | 
|   `syn-nodejs-2.2`   |  28 de mayo de 2021  | 
|   `syn-nodejs-2.1`   |  28 de mayo de 2021  | 
|   `syn-nodejs-2.0`   |  28 de mayo de 2021  | 
|   `syn-nodejs-2.0-beta`   |  8 de febrero de 2021  | 
|   `syn-1.0`   |  28 de mayo de 2021  | 

# Actualización de las versiones del tiempo de ejecución
<a name="CloudWatch_Synthetics_Runtime_Version_Update"></a>

Se puede actualizar la versión en tiempo de ejecución de un valor controlado mediante la consola de CloudWatch, AWS CloudFormation, AWS CLI o el SDK de AWS. Cuando utilice la consola de CloudWatch, puede actualizar hasta cinco canarios a la vez si los selecciona en la página de la lista de canarios y, a continuación, elige **Acciones**, **Actualizar tiempo de ejecución**.

Puede verificar la actualización del tiempo de ejecución probándola antes de confirmarla. Al actualizar las versiones de tiempo de ejecución, elija las opciones **Iniciar simulacro** o **Validar y guardar más tarde** en la consola de CloudWatch para crear un simulacro del canario original junto con los cambios que haya realizado en la configuración. El simulacro actualizará y ejecutará el canario para validar si la actualización del tiempo de ejecución es segura para este. Una vez que haya verificado el canario con la nueva versión de tiempo de ejecución, puede actualizar su versión del tiempo de ejecución. Para obtener más información, consulte [Actualizaciones seguras del canario](performing-safe-canary-upgrades.md).

De otro modo, puede verificar la actualización clonando primero el canario mediante la consola de CloudWatch y actualizando la versión de tiempo de ejecución. Esto crea otro valor controlado que es un clon del valor controlado original. Una vez que haya verificado el valor controlado con la nueva versión de tiempo de ejecución, puede actualizar la versión de tiempo de ejecución del valor controlado original y eliminar el valor controlado clon.

 También puede actualizar varios canaries si se utiliza un script de actualización. Para obtener más información, consulte [Script de actualización en tiempo de ejecución de valores controlados](#CloudWatch_Synthetics_Canaries_upgrade_script).

Si se actualiza un valor controlado y falla, consulte [Solución de problemas de un valor controlado](CloudWatch_Synthetics_Canaries_Troubleshoot.md).

## Script de actualización en tiempo de ejecución de valores controlados
<a name="CloudWatch_Synthetics_Canaries_upgrade_script"></a>

Para actualizar un script de valor controlado a una versión compatible de tiempo de ejecución, utilice el siguiente script.

```
const AWS = require('aws-sdk');

// You need to configure your AWS credentials and Region.
//   https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html
//   https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-region.html

const synthetics = new AWS.Synthetics();

const DEFAULT_OPTIONS = {
  /**
   * The number of canaries to upgrade during a single run of this script.
   */
  count: 10,
  /**
   * No canaries are upgraded unless force is specified.
   */
  force: false
};

/**
 * The number of milliseconds to sleep between GetCanary calls when
 * verifying that an update succeeded.
 */
const SLEEP_TIME = 5000;

(async () => {
  try {
    const options = getOptions();

    const versions = await getRuntimeVersions();
    const canaries = await getAllCanaries();
    const upgrades = canaries
      .filter(canary => !versions.isLatestVersion(canary.RuntimeVersion))
      .map(canary => {
        return {
          Name: canary.Name,
          FromVersion: canary.RuntimeVersion,
          ToVersion: versions.getLatestVersion(canary.RuntimeVersion)
        };
      });

    if (options.force) {
      const promises = [];

      for (const upgrade of upgrades.slice(0, options.count)) {
        const promise = upgradeCanary(upgrade);
        promises.push(promise);
        // Sleep for 100 milliseconds to avoid throttling.
        await usleep(100);
      }

      const succeeded = [];
      const failed = [];
      for (let i = 0; i < upgrades.slice(0, options.count).length; i++) {
        const upgrade = upgrades[i];
        const promise = promises[i];
        try {
          await promise;
          console.log(`The update of ${upgrade.Name} succeeded.`);
          succeeded.push(upgrade.Name);
        } catch (e) {
          console.log(`The update of ${upgrade.Name} failed with error: ${e}`);
          failed.push({
            Name: upgrade.Name,
            Reason: e
          });
        }
      }

      if (succeeded.length) {
        console.group('The following canaries were upgraded successfully.');
        for (const name of succeeded) {
          console.log(name);
        }
        console.groupEnd()
      } else {
        console.log('No canaries were upgraded successfully.');
      }

      if (failed.length) {
        console.group('The following canaries were not upgraded successfully.');
        for (const failure of failed) {
          console.log('\x1b[31m', `${failure.Name}: ${failure.Reason}`, '\x1b[0m');
        }
        console.groupEnd();
      }
    } else {
      console.log('Run with --force [--count <count>] to perform the first <count> upgrades shown. The default value of <count> is 10.')
      console.table(upgrades);
    }
  } catch (e) {
    console.error(e);
  }
})();

function getOptions() {
  const force = getFlag('--force', DEFAULT_OPTIONS.force);
  const count = getOption('--count', DEFAULT_OPTIONS.count);
  return { force, count };

  function getFlag(key, defaultValue) {
    return process.argv.includes(key) || defaultValue;
  }
  function getOption(key, defaultValue) {
    const index = process.argv.indexOf(key);
    if (index < 0) {
      return defaultValue;
    }
    const value = process.argv[index + 1];
    if (typeof value === 'undefined' || value.startsWith('-')) {
      throw `The ${key} option requires a value.`;
    }
    return value;
  }
}

function getAllCanaries() {
  return new Promise((resolve, reject) => {
    const canaries = [];

    synthetics.describeCanaries().eachPage((err, data) => {
      if (err) {
        reject(err);
      } else {
        if (data === null) {
          resolve(canaries);
        } else {
          canaries.push(...data.Canaries);
        }
      }
    });
  });
}

function getRuntimeVersions() {
  return new Promise((resolve, reject) => {
    const jsVersions = [];
    const pythonVersions = [];
    synthetics.describeRuntimeVersions().eachPage((err, data) => {
      if (err) {
        reject(err);
      } else {
        if (data === null) {
          jsVersions.sort((a, b) => a.ReleaseDate - b.ReleaseDate);
          pythonVersions.sort((a, b) => a.ReleaseDate - b.ReleaseDate);
          resolve({
            isLatestVersion(version) {
              const latest = this.getLatestVersion(version);
              return latest === version;
            },
            getLatestVersion(version) {
              if (jsVersions.some(v => v.VersionName === version)) {
                return jsVersions[jsVersions.length - 1].VersionName;
              } else if (pythonVersions.some(v => v.VersionName === version)) {
                return pythonVersions[pythonVersions.length - 1].VersionName;
              } else {
                throw Error(`Unknown version ${version}`);
              }
            }
          });
        } else {
          for (const version of data.RuntimeVersions) {
            if (version.VersionName === 'syn-1.0') {
              jsVersions.push(version);
            } else if (version.VersionName.startsWith('syn-nodejs-2.')) {
              jsVersions.push(version);
            } else if (version.VersionName.startsWith('syn-nodejs-puppeteer-')) {
              jsVersions.push(version);
            } else if (version.VersionName.startsWith('syn-python-selenium-')) {
              pythonVersions.push(version);
            } else {
              throw Error(`Unknown version ${version.VersionName}`);
            }
          }
        }
      }
    });
  });
}

async function upgradeCanary(upgrade) {
  console.log(`Upgrading canary ${upgrade.Name} from ${upgrade.FromVersion} to ${upgrade.ToVersion}`);
  await synthetics.updateCanary({ Name: upgrade.Name, RuntimeVersion: upgrade.ToVersion }).promise();
  while (true) {
    await usleep(SLEEP_TIME);
    console.log(`Getting the state of canary ${upgrade.Name}`);
    const response = await synthetics.getCanary({ Name: upgrade.Name }).promise();
    const state = response.Canary.Status.State;
    console.log(`The state of canary ${upgrade.Name} is ${state}`);
    if (state === 'ERROR' || response.Canary.Status.StateReason) {
      throw response.Canary.Status.StateReason;
    }
    if (state !== 'UPDATING') {
      return;
    }
  }
}

function usleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
```