

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Versi runtime Synthetics
<a name="CloudWatch_Synthetics_Canaries_Library"></a>

Ketika Anda membuat atau memperbarui canary, Anda memilih versi runtime Synthetic untuk canary. Runtime Synthetic adalah kombinasi kode Synthetic yang memanggil pengatur skrip Anda, dan lapisan Lambda dari Dependensi gabungan.

CloudWatch Synthetics saat ini mendukung runtime yang menggunakan bahasa Node.js, Python, atau Java. Kerangka kerja yang didukung adalah Dalang, Penulis Naskah, dan Selenium.

Kami menyarankan agar Anda selalu menggunakan versi runtime terbaru untuk canary Anda, agar dapat menggunakan fitur dan pembaruan terbaru yang dibuat untuk pustaka Synthetic.

**Harap dicatat**: setiap kali Anda menjalankan kenari untuk menggunakan versi baru runtime Synthetics, semua fungsi pustaka Synthetics yang digunakan kenari Anda juga secara otomatis dipindahkan ke versi NodeJS yang sama dengan yang didukung runtime Synthetics.

**Topics**
+ [

# Versi runtime menggunakan Java
](CloudWatch_Synthetics_Library_Java.md)
+ [

# Versi runtime menggunakan Node.js dan Playwright
](CloudWatch_Synthetics_Library_nodejs_playwright.md)
+ [

# Versi runtime yang menggunakan Node.js dan Puppeteer
](CloudWatch_Synthetics_Library_nodejs_puppeteer.md)
+ [

# Versi runtime yang menggunakan Python dan Selenium Webdriver
](CloudWatch_Synthetics_Library_python_selenium.md)
+ [

# Versi runtime menggunakan Node.js
](CloudWatch_Synthetics_Library_Nodejs.md)
+ [

# Kebijakan dukungan versi runtime
](CloudWatch_Synthetics_Runtime_Support_Policy.md)
+ [

# Pembaruan versi runtime
](CloudWatch_Synthetics_Runtime_Version_Update.md)

# Versi runtime menggunakan Java
<a name="CloudWatch_Synthetics_Library_Java"></a>

Bagian berikut berisi informasi tentang versi runtime CloudWatch Synthetics untuk Java. Runtime ini tidak menyertakan browser atau kerangka kerja apa pun.

Konvensi penamaan untuk versi runtime ini adalah `syn-language -majorversion.minorversion`. 

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

**Dependensi besar**:
+ AWS Lambda runtime Java 21

 **Fitur** 
+ *CloudWatch Integrasi log* - Anda dapat melakukan kueri dan memfilter log melalui konsol CloudWatch Synthetics. Setiap pesan log berisi unik` canaryRunId`, sehingga mudah untuk mencari log untuk menjalankan kenari tertentu.
+ *Metrik* — Anda dapat memantau persentase dan durasi keberhasilan lari kenari melalui CloudWatch metrik. Anda juga dapat mengonfigurasi alarm untuk mengingatkan Anda saat kenari mendeteksi masalah.
+ *Artefak kenari* - Setiap kenari menjalankan mengunggah laporan terperinci yang sesuai dengan proses dan langkah-langkah dalam proses yang dapat diakses melalui Amazon S3.
+ *Support for traces* - Anda dapat memancarkan jejak untuk semua permintaan yang dibuat oleh kenari melalui X-Ray. Setiap lari kenari dikaitkan dengan satu Id jejak.

# Versi runtime menggunakan Node.js dan Playwright
<a name="CloudWatch_Synthetics_Library_nodejs_playwright"></a>

Bagian berikut berisi informasi tentang versi runtime CloudWatch Synthetics untuk Node.js dan Playwright. Playwright adalah pustaka otomatisasi sumber terbuka untuk pengujian browser. [Untuk informasi lebih lanjut tentang Penulis Naskah, lihat https://playwright.dev/](https://playwright.dev) 

Konvensi penamaan untuk versi runtime ini adalah `syn-language -framework-majorversion. minorversion`. 

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

**penting**  
Memulai Synthetics `syn-nodejs-playwright-5.1` dan yang lebih baru, runtime Synthetics menggunakan namespace baru. Silakan memigrasikan skrip canary untuk menggunakan namespace baru. Namespace lama akan ditinggalkan di rilis mendatang.  
@ amzn/synthetics-playwright → @aws/synthetics -penulis naskah

**Dependensi besar**:
+ AWS Lambda runtime Node.js 22.x
+ Penulis naskah versi 1.58.2
+ Playwright/uji versi 1.58.2
+ Chromium versi 145.0.7632.77
+ Firefox versi 146.0.1

 **Perubahan syn-nodejs-playwright -6.0** 
+ Patch keamanan terapan dan versi Playwright dan browser yang diperbarui. 

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log perubahan penulis naskah](https://playwright.dev/docs/release-notes) 
+  [Referensi API penulis naskah](https://playwright.dev/docs/api/class-playwright) 

## Versi runtime sebelumnya untuk Node.js dan Playwright
<a name="Previousversions-nodejs-playwright"></a>

Versi runtime sebelumnya berikut untuk Node.js dan Playwright masih didukung. 

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 22.x
+ Penulis naskah versi 1.57.0
+ Playwright/test versi 1.57.0
+ Chromium versi 143.0.7499.169
+ Firefox versi 142.0.1

 **Perubahan syn-nodejs-playwright -5.1** 
+ Migrasi namespace runtime Synthetics. 
+ Definisi tipe tersedia di [npm Registry](https://www.npmjs.com/package/@aws/synthetics-playwright). Harap pastikan versi paket definisi tipe cocok dengan versi runtime kenari Anda.

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log perubahan penulis naskah](https://playwright.dev/docs/release-notes) 
+  [Referensi API penulis naskah](https://playwright.dev/docs/api/class-playwright) 

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 22.x
+ Penulis naskah versi 1.57.0
+ Playwright/test versi 1.57.0
+ Chromium versi 143.0.7499.4
+ Firefox versi 142.0.1

 **Perubahan syn-nodejs-playwright -5.0** 
+ Patch keamanan terapan dan versi Playwright dan browser yang diperbarui. 

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log perubahan penulis naskah](https://playwright.dev/docs/release-notes) 
+  [Referensi API penulis naskah](https://playwright.dev/docs/api/class-playwright) 

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 22.x
+ Penulis naskah versi 1.55.0
+ Playwright/uji versi 1.55.0
+ Chromium versi 140.0.7339.16
+ Firefox versi 141.0

 **Perubahan syn-nodejs-playwright -4.0** 
+ Patch keamanan terapan dan versi Playwright dan browser yang diperbarui. 

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log perubahan penulis naskah](https://playwright.dev/docs/release-notes) 
+  [Referensi API penulis naskah](https://playwright.dev/docs/api/class-playwright) 

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 20.x
+ Penulis naskah versi 1.53.0
+ PlayWright/test versi 1.53.0
+ Chromium versi 138.0.7204.168

 **Perubahan syn-nodejs-playwright -3.0** 
+ Dukungan multi-browser - Anda sekarang dapat menjalankan kenari dalang nodejs Anda di Firefox atau Chrome
+ Support untuk pemantauan visual

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log perubahan penulis naskah](https://playwright.dev/docs/release-notes) 
+  [Referensi API penulis naskah](https://playwright.dev/docs/api/class-playwright) 

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 20.x
+ Penulis naskah versi 1.49.1
+ Playwright/test versi 1.49.1
+ Chromium versi 131.0.6778.264

 **Perubahan syn-nodejs-playwright -2.0** 
+ Ketidakcocokan antara total durasi dan jumlah timing untuk permintaan yang diberikan dalam file HAR diperbaiki.
+ Mendukung dry run untuk kenari yang memungkinkan eksekusi adhoc atau melakukan pembaruan kenari yang aman.

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log perubahan penulis naskah](https://playwright.dev/docs/release-notes) 
+  [Referensi API penulis naskah](https://playwright.dev/docs/api/class-playwright) 

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 20.x
+ Penulis naskah versi 1.44.1
+ Dramwright/uji versi 1.44.1
+ Chromium versi 126.0.6478.126

**Fitur-fitur**:
+ **PlayWright dukungan** - Anda dapat menulis skrip kenari dengan menggunakan kerangka kerja otomatisasi Playwright. Anda dapat membawa skrip Playwright yang ada untuk dijalankan sebagai kenari, dan meningkatkannya dengan kemampuan pemantauan. AWS 
+ **CloudWatch Integrasi log** - Anda dapat melakukan kueri dan memfilter log melalui konsol CloudWatch Synthetics. Setiap pesan log berisi unik`canaryRunId`, sehingga mudah untuk mencari log untuk menjalankan kenari tertentu. 
+ **Metrik dan artefak kenari** — Anda dapat memantau laju kelulusan lari kenari melalui CloudWatch metrik, dan mengonfigurasi alarm untuk mengingatkan Anda saat kenari mendeteksi masalah. 
+ **Tangkapan layar dan asosiasi langkah** - Anda dapat menangkap tangkapan layar menggunakan fungsionalitas Playwright asli untuk memvisualisasikan tahapan skrip kenari pada setiap proses. Tangkapan layar secara otomatis dikaitkan dengan langkah kenari, dan diunggah ke bucket Amazon S3. 
+ **Beberapa tab** - Anda dapat membuat kenari yang membuka beberapa tab browser, dan mengakses tangkapan layar dari setiap tab. Anda dapat membuat alur kerja pengguna multi-tab dan multi-langkah di Synthetics. 

# Versi runtime yang menggunakan Node.js dan Puppeteer
<a name="CloudWatch_Synthetics_Library_nodejs_puppeteer"></a>

Versi runtime pertama untuk Node.js dan Puppeteer bernama `syn-1.0`. Kemudian versi runtime selanjutnya memiliki konvensi penamaan `syn-language -majorversion.minorversion`. Dimulai dengan `syn-nodejs-puppeteer-3.0`, konvensi penamaannya adalah `syn- language-framework-majorversion .minorversion` 

Tambahan `-beta` akhiran menunjukkan bahwa versi runtime saat ini ada dalam rilis pratinjau beta.

Versi runtime dengan nomor versi utama yang sama kompatibel dengan versi sebelumnya. 

Kode Lambda di canary dikonfigurasi untuk memiliki memori maksimum 1 GB. Setiap proses waktu canary di luar setelah nilai waktu habis yang dikonfigurasi. Jika tidak ada nilai batas waktu yang ditentukan untuk kenari, CloudWatch pilih nilai batas waktu berdasarkan frekuensi kenari. Jika Anda mengonfigurasi nilai batas waktu, buatlah tidak lebih pendek dari 15 detik untuk memungkinkan Lambda cold start dan waktu yang diperlukan untuk mem-boot instrumentasi canary.

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

`syn-nodejs-puppeteer-15.0`adalah runtime Synthetics terbaru untuk Node.js dan Puppeteer. 

**penting**  
Memulai Synthetics `syn-nodejs-puppeteer-13.1` dan yang lebih baru, runtime Synthetics menggunakan namespace baru. Silakan memigrasikan skrip canary untuk menggunakan ruang nama baru. Ruang nama lama akan ditinggalkan di rilis mendatang.  
Synthetics → @aws /synthetics-puppeteer
SyntheticsLink → @aws /tautan-sintetis
SyntheticsLogger → @aws /synthetics-logger
SyntheticsLogHelper → @aws/synthetics-log-helper
BrokenLinkCheckerReport → @aws/synthetics-broken-link-checker-laporan

**penting**  
Synthetics runtime `syn-nodejs-puppeteer-11.0` dan versi yang lebih baru hanya mendukung penggantian konfigurasi tingkat langkah berikut:  
 `screenshotOnStepStart` 
 `screenshotOnStepSuccess` 
 `screenshotOnStepFailure` 
 `stepSuccessMetric` 
 `stepDurationMetric` 
 `continueOnStepFailure/continueOnHttpStepFailure` 
 `stepsReport` 

Untuk informasi selengkapnya, lihat berikut ini:
+  [Dalang Perubahan log](https://pptr.dev/CHANGELOG#24375-2026-02-19) 
+  [Referensi API dalang](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.37.5/docs/api/index.md) 

**Dependensi besar**:
+ Runtime Lambda Node.js 22.x
+ Puppeteer-core versi 24.37.5
+ Chromium versi 145.0.7632.77
+ Firefox versi 147.0.4

 **Perubahan syn-nodejs-puppeteer -15.0** 
+ Patch keamanan terapan dan versi Puppeteer dan browser yang diperbarui.
+ Memperbaiki bug continueOnHttp StepFailure yang tidak dihormati, menyebabkan kenari berjalan salah ditandai sebagai berhasil meskipun terjadi kegagalan langkah HTTP.

## Versi runtime sebelumnya untuk Node.js dan Puppeteer
<a name="Previousversions-nodejs-puppeteer"></a>

Versi runtime sebelumnya berikut untuk Node.js dan Puppeteer masih didukung. 

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

Untuk informasi selengkapnya, lihat berikut ini:
+  [Dalang Perubahan log](https://pptr.dev/CHANGELOG#24340-2025-12-19) 
+  [Referensi API dalang](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.34.0/docs/api/index.md) 

**Dependensi besar**:
+ Runtime Lambda Node.js 22.x
+ Puppeteer-core versi 24.34.0
+ Chromium versi 143.0.7499.169
+ Firefox versi 146.x

 **Perubahan syn-nodejs-puppeteer -14.0** 
+ Patch keamanan terapan dan versi Puppeteer dan browser yang diperbarui.

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

`syn-nodejs-puppeteer-13.1`adalah runtime Synthetics terbaru untuk Node.js dan Puppeteer. 

Untuk informasi selengkapnya, lihat berikut ini:
+  [Dalang Perubahan log](https://pptr.dev/CHANGELOG#24250-2025-10-15) 
+  [Referensi API dalang](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependensi besar**:
+ Runtime Lambda Node.js 22.x
+ Puppeteer-core versi 24.25.0
+ Chromium versi 142.0.7444.175
+ Firefox versi 145.x

 **Perubahan syn-nodejs-puppeteer -13.1** 
+ Migrasi namespace runtime Synthetics.
+ Definisi jenis tersedia di npm Registry. Harap pastikan versi paket definisi tipe cocok dengan versi runtime kenari Anda.
  +  [@aws /sintetis-dalang](https://www.npmjs.com/package/@aws/synthetics-puppeteer) 
  +  [@aws /tautan-sintetis](https://www.npmjs.com/package/@aws/synthetics-link) 
  +  [@aws/synthetics-broken-link-checker-laporan](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>

Untuk informasi selengkapnya, lihat berikut ini:
+  [Dalang Perubahan log](https://pptr.dev/CHANGELOG#24250-2025-10-15) 
+  [Referensi API dalang](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependensi besar**:
+ Runtime Lambda Node.js 22.x
+ Puppeteer-core versi 24.25.0
+ Chromium versi 142.0.7444.175
+ Firefox versi 145.x

 **Perubahan syn-nodejs-puppeteer -13.0** 
+ Patch keamanan terapan dan versi Puppeteer dan browser yang diperbarui.
+ Perbaikan bug - Memperbaiki masalah kerusakan ekstensi runtime intermiten yang disebabkan oleh akses peta bersamaan

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

Untuk informasi selengkapnya, lihat berikut ini:
+  [Dalang Perubahan log](https://pptr.dev/CHANGELOG#24221-2025-09-23) 
+  [Referensi API dalang](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.22.1/docs/api/index.md) 

**Dependensi besar**:
+ Runtime Lambda Node.js 22.x
+ Versi Puppeteer-core 24.22.1
+ Versi Chromium 140.0.7339.185
+ Firefox versi 143.0.1

 **Perubahan syn-nodejs-puppeteer -12,0** 
+ Patch keamanan terapan dan versi Puppeteer dan browser yang diperbarui.
+ Perbaikan bug untuk redaksi header Terbatas - Memperbaiki masalah di mana dalam beberapa situasi header terbatas tidak disunting di executeHttpStep (). Perilaku sekarang konsisten dengan Dalang 10.0.
+ Perbaikan bug untuk includeResponseBody konfigurasi - Memperbaiki masalah di mana pembuatan file HAR dapat salah menerapkan pengaturan includeResponseBody konfigurasi dalam situasi tertentu. HAR sekarang memastikan badan respons dikecualikan saat pengaturan dikonfigurasi.
+ Siklus hidup pengambilan permintaan diperbaiki - Memperbaiki masalah di mana dalam beberapa situasi penangkap permintaan HTTP dapat menyebabkan agregasi permintaan yang berkelanjutan. Perekaman sekarang berakhir dengan benar setelah setiap langkah eksekusi.

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

Untuk informasi selengkapnya, lihat berikut ini:
+  [Dalang Perubahan log](https://pptr.dev/CHANGELOG) 
+  [Referensi API dalang](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependensi besar**:
+ Runtime Lambda Node.js 20.x
+ Puppeteer-core versi 24.15.0
+ Chromium versi 138.0.7204.168

 **Perubahan syn-nodejs-puppeteer -11.0** 
+ Dukungan multi-browser - Anda sekarang dapat menjalankan Node.js Puppeteer canaries baik di Firefox atau Chrome
+ Kemasan yang disederhanakan - Package scripts langsung di bawah root tanpa menggunakan struktur direktori Node.js/node\$1modules
+ Integrasi tangkapan layar - Tangkap tangkapan layar menggunakan fungsi Dalang asli untuk memvisualisasikan tahapan skrip kenari. Synthetics secara otomatis mengaitkan tangkapan layar dengan langkah-langkah kenari dan mengunggahnya ke Amazon S3
+ Kueri log yang disempurnakan — Kueri dan filter log melalui konsol CloudWatch Wawasan. Setiap pesan log menyertakan unik `canaryRunId` untuk pencarian yang lebih mudah
+ Dukungan file konfigurasi - Tentukan dan perbarui pengaturan Synthetics menggunakan file synthetics.json. Pemisahan konfigurasi dari logika skrip ini meningkatkan pemeliharaan dan penggunaan kembali
+ Dukungan beberapa tab - Buat kenari yang membuka beberapa tab browser dan mengakses tangkapan layar dari setiap tab. Buat alur kerja pengguna multi-tab dan multi-langkah di Synthetics
+ Perbaikan keamanan
+ Perbaikan bug pemantauan visual
+ Menambahkan dukungan untuk logging JSON terstruktur dengan tingkat log yang dapat dikonfigurasi - Log sekarang dipancarkan dalam format JSON untuk memungkinkan penguraian dan kueri yang lebih mudah. CloudWatch Level log dapat dikonfigurasi (misalnya, DEBUG, INFO, TRACE) melalui variabel lingkungan yang memungkinkan pengguna untuk mengontrol verbositas berdasarkan kebutuhan mereka
+ Support untuk sintaks ES

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

Untuk informasi selengkapnya, lihat berikut ini:
+  [Dalang Perubahan log](https://pptr.dev/CHANGELOG) 
+  [Referensi API dalang](https://github.com/puppeteer/puppeteer/blob/puppeteer-v24.2.0/docs/api/index.md) 

**Dependensi besar**:
+ Runtime Lambda Node.js 20.x
+ Puppeteer-core versi 24.2.0
+ Chromium versi 131.0.6778.264

 **Perubahan syn-nodejs-puppeteer -10.0** 
+ Bug yang terkait dengan penutupan browser yang memakan waktu terlalu lama telah diperbaiki.
+ Mendukung dry run untuk kenari yang memungkinkan eksekusi adhoc atau melakukan pembaruan kenari yang aman.

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

**Dependensi besar**:
+ Runtime Lambda Node.js 20.x
+ Puppeteer-core versi 22.12.1
+ Chromium versi 126.0.6478.126

**Perubahan syn-nodejs-puppeteer -9.1** - Perbaikan bug yang terkait dengan rentang tanggal dan permintaan tertunda dalam file HAR diperbaiki.

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

**Dependensi besar**:
+ Runtime Lambda Node.js 20.x
+ Puppeteer-core versi 22.12.1
+ Chromium versi 126.0.6478.126

**Perubahan syn-nodejs-puppeteer -9.0** - Perbaikan bug untuk mengaktifkan kemampuan pemantauan visual diperbaiki.

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

**Awas**  
Karena bug, `syn-nodejs-puppeteer-8.0` runtime tidak mendukung pemantauan visual di kenari. Tingkatkan ke [syn-nodejs-puppeteer-9.0](#CloudWatch_Synthetics_runtimeversion-nodejs-puppeteer-9.0) perbaikan bug untuk pemantauan visual.

**penting**  
Lambda Node.js 18 dan runtime yang lebih baru menggunakan AWS SDK untuk V3. JavaScript Jika Anda perlu memigrasikan kenari dari runtime sebelumnya, ikuti Lokakarya [Migrasi aws-sdk-js-v 3](https://github.com/aws-samples/aws-sdk-js-v3-workshop) di. GitHub Untuk informasi selengkapnya tentang AWS SDK untuk JavaScript versi 3, lihat [posting blog ini](https://aws.amazon.com/blogs/developer/modular-aws-sdk-for-javascript-is-now-generally-available/).

**Dependensi besar**:
+ Runtime Lambda Node.js 20.x
+ Puppeteer-core versi 22.10.0
+ Chromium versi 125.0.6422.112

**Pembaruan di syn-nodejs-puppeteer -8.0**:
+  **Support untuk otentikasi dua faktor** 
+ **Perbaikan bug yang** terkait dengan beberapa klien layanan yang kehilangan data dalam respons Node.js SDK V3 diperbaiki.

## Versi runtime usang untuk Node.js dan Puppeteer
<a name="CloudWatch_Synthetics_nodejs-puppeteer-Deprecated"></a>

Runtime berikut untuk Node.js dan Puppeteer telah usang. Untuk informasi tentang tanggal penghentian runtime, lihat. [CloudWatch Tanggal penghentian runtime 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>

**Dependensi besar**:
+ Runtime Lambda Node.js 18.x
+ Puppeteer-core versi 21.9.0
+ Chromium versi 121.0.6167.139

**Ukuran kode**:

Ukuran kode dan dependensi yang dapat Anda paket ke dalam runtime ini adalah 80 MB.

**Pembaruan di syn-nodejs-puppeteer -7.0**:
+ **Versi terbaru dari pustaka yang dibundel di Puppeteer dan Chromium** - Dependensi Dalang dan Chromium diperbarui ke versi baru.
**penting**  
Pindah dari Puppeteer 19.7.0 ke Puppeteer 21.9.0 memperkenalkan perubahan yang melanggar terkait pengujian dan filter. [Untuk informasi lebih lanjut, lihat bagian **BREAKING CHANGES di**[dalang: v20.0.0 dan dalang inti: v21.0.0](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v20.0.0).](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-core-v21.0.0)

 **Direkomendasikan upgrade ke AWS SDK v3** 

Runtime Lambda nodejs18.x tidak mendukung SDK v2. AWS Kami sangat menyarankan Anda bermigrasi ke AWS SDK v3.

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

**Dependensi besar**:
+ Runtime Lambda Node.js 18.x
+ Puppeteer-core versi 19.7.0
+ Chromium versi 111.0.5563.146

**Perubahan syn-nodejs-puppeteer -6.2**:
+  **Versi terbaru dari pustaka yang dibundel di Chromium** 
+ **Pemantauan penyimpanan singkat** - Runtime ini menambahkan pemantauan penyimpanan sementara di akun pelanggan.
+  **Perbaikan bug** 

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

**Dependensi besar**:
+ Runtime Lambda Node.js 18.x
+ Puppeteer-core versi 19.7.0
+ Chromium versi 111.0.5563.146

**Pembaruan di syn-nodejs-puppeteer -6.1**:
+ **Peningkatan stabilitas**— Penambahan logika coba ulang otomatis untuk menangani kesalahan peluncuran Puppeteer intermiten.
+ **Peningkatan Dependensi**— Peningkatan untuk beberapa paket dependensi pihak ketiga.
+ **Canary tanpa izin Amazon S3**— Perbaikan bug, sehingga canary yang tidak memiliki izin Amazon S3 masih dapat berjalan. Canary yang tidak memiliki izin Amazon S3 ini tidak akan dapat mengunggah tangkapan layar atau artefak lainnya ke Amazon S3. Untuk informasi selengkapnya tentang izin-izin untuk canary, silakan lihat [Peran dan izin yang diperlukan untuk canary](CloudWatch_Synthetics_Canaries_CanaryPermissions.md).

**penting**  
PENTING: Dependensi AWS SDK untuk JavaScript v2 yang disertakan akan dihapus dan diperbarui untuk menggunakan AWS SDK untuk JavaScript v3 dalam rilis runtime mendatang. Ketika itu terjadi, Anda dapat memperbarui referensi kode canary Anda. Atau, Anda dapat melanjutkan referensi dan menggunakan AWS SDK yang disertakan untuk ketergantungan JavaScript v2 dengan menambahkannya sebagai dependensi ke file zip kode sumber Anda.

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

**Dependensi besar**:
+ Runtime Lambda Node.js 18.x
+ Puppeteer-core versi 19.7.0
+ Chromium versi 111.0.5563.146

**Pembaruan di syn-nodejs-puppeteer -6.0**:
+ **Peningkatan dependensi** — Dependensi Node.js ditingkatkan ke 18.x.
+ **Dukungan mode intercept** — Dukungan mode intercept kooperatif Puppeteer ditambahkan ke pustaka runtime canary Synthetics.
+ **Melacak perubahan perilaku** — Mengubah perilaku pelacakan default untuk melacak hanya permintaan fetch dan xhr, dan tidak melacak permintaan sumber daya. Anda dapat mengaktifkan pelacakan permintaan sumber daya dengan mengonfigurasi opsi `traceResourceRequests`.
+ **Metrik durasi disempurnakan** — ` Duration` Metrik sekarang mengecualikan waktu operasi yang digunakan kenari untuk mengunggah artefak, mengambil tangkapan layar, dan menghasilkan metrik. CloudWatch `Duration`nilai metrik dilaporkan CloudWatch, dan Anda juga dapat melihatnya di konsol Synthetics.
+ **Perbaikan bug**— Bersihkan dump inti yang dihasilkan saat Chromium crash saat canary dijalankan.

**penting**  
PENTING: Dependensi AWS SDK untuk JavaScript v2 yang disertakan akan dihapus dan diperbarui untuk menggunakan AWS SDK untuk JavaScript v3 dalam rilis runtime mendatang. Ketika itu terjadi, Anda dapat memperbarui referensi kode canary Anda. Atau, Anda dapat melanjutkan referensi dan menggunakan AWS SDK yang disertakan untuk ketergantungan JavaScript v2 dengan menambahkannya sebagai dependensi ke file zip kode sumber Anda.

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

**Dependensi besar**:
+ Runtime Lambda Node.js 16.x
+ Puppeteer-core versi 19.7.0
+ Chromium versi 111.0.5563.146

**Pembaruan di syn-nodejs-puppeteer -5.2**:
+  **Versi terbaru dari pustaka yang dibundel di Chromium** 
+  **Perbaikan bug** 

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

**Dependensi besar**:
+ Runtime Lambda Node.js 16.x
+ Puppeteer-core versi 19.7.0
+ Chromium versi 111.0.5563.146

**Perbaikan bug di syn-nodejs-puppeteer -5.1**:
+ **Perbaikan bug**— Runtime ini memperbaiki bug di ` syn-nodejs-puppeteer-5.0` di mana file HAR yang dibuat oleh bcanarytidak memiliki header permintaan.

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

**Dependensi besar**:
+ Runtime Lambda Node.js 16.x
+ Puppeteer-core versi 19.7.0
+ Chromium versi 111.0.5563.146

**Pembaruan di syn-nodejs-puppeteer -5.0**:
+ **Peningkatan dependensi** — Versi Puppeteer-core diperbarui ke 19.7.0. Versi Chromium ditingkatkan ke 111.0.5563.146.

**penting**  
Versi Puppeteer-Core yang baru tidak sepenuhnya kompatibel dengan versi Puppeteer sebelumnya. Beberapa perubahan dalam versi ini dapat menyebabkan canary yang ada yang menggunakan fungsi Puppeteer yang tidak digunakan lagi gagal. Untuk informasi selengkapnya, silakan lihat perubahan yang melanggar log perubahan untuk Puppeteer-core versi 19.7.0 hingga 6.0, di [log perubahan 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>

**Dependensi besar**:
+ Runtime Lambda Node.js 16.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 92.0.4512

**Pembaruan di syn-nodejs-puppeteer -4.0**:
+ **Peningkatan Dependensi**— Dependensi Node.js diperbarui ke 16.x.

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

**penting**  
Versi runtime ini tidak digunakan lagi pada 8 Januari 2024. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 14.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 92.0.4512

**Pembaruan di syn-nodejs-puppeteer -3.9**:
+ **Peningkatan Dependensi**— Meningkatkan beberapa paket Dependensi pihak ketiga.

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

**penting**  
Versi runtime ini tidak digunakan lagi pada 8 Januari 2024. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 14.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 92.0.4512

**Pembaruan di syn-nodejs-puppeteer -3.8**:
+ **Pembersihan profil**— Profil Chromium sekarang dibersihkan setelah setiap canary dijalankan.

**Perbaikan bug di syn-nodejs-puppeteer -3.8**:
+ **Perbaikan bug**— Sebelumnya, canary pemantauan visual terkadang berhenti bekerja dengan benar setelah dijalankan tanpa tangkapan layar. Ini sekarang sudah diperbaiki.

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

**penting**  
Versi runtime ini tidak digunakan lagi pada 8 Januari 2024. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 14.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 92.0.4512

**Pembaruan di syn-nodejs-puppeteer -3.7**:
+ **Peningkatan pencatatan** — Canary akan mengunggah log ke Amazon S3 meskipun waktu habis atau macet.
+ **Ukuran lapisan Lambda berkurang**— Ukuran lapisan Lambda yang digunakan untuk canary berkurang sebesar 34%.

**Perbaikan bug di syn-nodejs-puppeteer -3.7**:
+ **Perbaikan bug** — Font Jepang, Mandarin Sederhana, dan Mandarin Tradisional akan di-render dengan benar.

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

**penting**  
Versi runtime ini tidak digunakan lagi pada 8 Januari 2024. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 14.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 92.0.4512

**Pembaruan di syn-nodejs-puppeteer -3.6**:
+ **Stempel waktu yang lebih presisi**— Waktu mulai dan waktu berhenti canary sekarang presisi hingga milidetik.

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

**penting**  
Versi runtime ini tidak digunakan lagi pada 8 Januari 2024. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 14.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 92.0.4512

**Pembaruan di syn-nodejs-puppeteer -3.5**:
+ **Dependensi yang diperbarui**— Satu-satunya fitur baru dalam runtime ini adalah dependensi yang diperbarui.

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

**penting**  
Versi runtime ini telah diusangkan pada 13 November 2022. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 12.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 88.0.4298.0

**Pembaruan di syn-nodejs-puppeteer -3.4**:
+ **Fungsi handler kustom**— Anda sekarang dapat menggunakan fungsi handler kustom untuk skrip canary Anda. Runtime sebelumnya mengharuskan titik masuk skrip untuk menyertakan `.handler`. 

  Anda juga dapat menempatkan skrip canary di folder apa pun dan meneruskan nama folder sebagai bagian dari handler. Misalnya, `MyFolder/MyScriptFile.functionname` dapat digunakan sebagai titik masuk.
+ **Informasi file HAR yang diperluas**— Anda sekarang dapat melihat permintaan yang buruk, tertunda, dan tidak lengkap dalam file HAR yang dihasilkan oleh canary.

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

**penting**  
Versi runtime ini telah diusangkan pada 13 November 2022. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 12.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 88.0.4298.0

**Pembaruan di syn-nodejs-puppeteer -3.3**:
+ **Opsi lainnya untuk enkripsi artefak** — Untuk kenari yang menggunakan runtime ini atau yang lebih baru, alih-alih menggunakan kunci AWS terkelola untuk mengenkripsi artefak yang disimpan kenari di Amazon S3, Anda dapat memilih untuk menggunakan kunci yang dikelola pelanggan atau kunci AWS KMS yang dikelola Amazon S3. Untuk informasi selengkapnya, lihat [Mengenkripsi artefak canary](CloudWatch_Synthetics_artifact_encryption.md). 

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

**penting**  
Versi runtime ini telah diusangkan pada 13 November 2022. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 12.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 88.0.4298.0

**Pembaruan di syn-nodejs-puppeteer -3.2**:
+ **pemantauan visual dengan tangkapan layar**— Canary yang menggunakan runtime ini atau yang lebih baru dapat membandingkan tangkapan layar yang diambil saat dijalankan dengan versi dasar dari tangkapan layar yang sama. Jika tangkapan layar lebih berbeda dari ambang persentase yang ditentukan, canary gagal. Untuk informasi selengkapnya, silakan lihat [Pemantauan visual](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting) atau [Cetak biru pemantauan visual](CloudWatch_Synthetics_Canaries_Blueprints.md#CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting). 
+ **Fungsi baru terkait data sensitif** Anda dapat mencegah data sensitif muncul di log dan laporan canary. Untuk informasi selengkapnya, lihat [SyntheticsLogHelper kelas](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsLogHelper).
+ **Fungsi usang** Kelas ` RequestResponseLogHelper` ini tidak digunakan lagi demi opsi konfigurasi baru lainnya. Untuk informasi selengkapnya, lihat [RequestResponseLogHelper kelas](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>

**penting**  
Versi runtime ini telah diusangkan pada 13 November 2022. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 12.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 88.0.4298.0

**Pembaruan di syn-nodejs-puppeteer -3.1**:
+ **Kemampuan untuk mengonfigurasi CloudWatch metrik** — Dengan runtime ini, Anda dapat menonaktifkan metrik yang tidak Anda perlukan. Jika tidak, kenari menerbitkan berbagai CloudWatch metrik untuk setiap lari kenari.
+ **Penautan tangkapan layar**— Anda dapat menautkan tangkapan layar ke langkah canary setelah langkah tersebut selesai. Untuk melakukan hal itu, Anda mengambil tangkapan layar dengan menggunakan metode **takeScreenshot**, menggunakan nama langkah yang ingin Anda kaitkan dengan tangkapan layar. Misalnya, Anda mungkin ingin melakukan langkah, menambahkan waktu tunggu, dan kemudian mengambil tangkapan layar.
+ Cetak **biru monitor detak jantung dapat memantau beberapa URLs** — Anda dapat menggunakan cetak biru pemantauan detak jantung di CloudWatch konsol untuk memantau beberapa URLs dan melihat status, durasi, tangkapan layar terkait, dan alasan kegagalan untuk setiap URL dalam ringkasan langkah laporan kenari.

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

**penting**  
Versi runtime ini telah diusangkan pada 13 November 2022. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 12.x
+ Puppeteer-core versi 5.5.0
+ Chromium versi 88.0.4298.0

**Pembaruan di syn-nodejs-puppeteer -3.0**:
+ **Dependensi yang ditingkatkan**— Versi ini menggunakan Puppeteer versi 5.5.0, Node.js 12.x, dan Chromium 88.0.4298.0.
+ **Akses bucket lintas Wilayah**— Anda sekarang dapat menentukan sebuah bucket S3 di Wilayah lain sebagai bucket di mana canary Anda menyimpan file log, tangkapan layar, dan file HAR.
+ **Fungsi baru yang tersedia**— Versi ini menambahkan fungsi pustaka untuk mengambil nama canary dan versi runtime Synthetics.

  Untuk informasi selengkapnya, lihat [Kelas 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>

Bagian ini berisi informasi tentang versi runtime `syn-nodejs-2.2`.

**penting**  
Versi runtime ini telah diusangkan pada 28 Mei 2021. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 10.x
+ Puppeteer-core versi 3.3.0
+ Chromium versi 83.0.4103.0

**Perubahan syn-nodejs-2.2**:
+ **Pantau kenari Anda sebagai langkah HTTP** - Sekarang Anda dapat menguji beberapa APIs dalam satu kenari. Setiap API diuji sebagai langkah HTTP terpisah, dan CloudWatch Synthetics memantau status setiap langkah menggunakan metrik langkah dan laporan langkah Synthetics CloudWatch . CloudWatch Synthetics membuat ` SuccessPercent` dan `Duration` metrik untuk setiap langkah HTTP.

  Fungsionalitas ini diimplementasikan oleh fungsi **executeHttpStep(stepName, requestOptions, callback,** stepConfig). Untuk informasi selengkapnya, lihat [executeHttpStep(StepName, requestOptions, [callback], [stepConfig])](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_executeHttpStep).

  Cetak biru canary API diperbarui untuk menggunakan fitur baru ini.
+ **Pelaporan permintaan HTTP** — Anda sekarang dapat melihat laporan permintaan HTTP terperinci yang menangkap detail seperti request/response header, badan respons, kode status, waktu kesalahan dan kinerja, waktu koneksi TCP, waktu jabat tangan TLS, waktu byte pertama, dan waktu transfer konten. Semua permintaan HTTP yang menggunakan HTTP/HTTPS modul di bawah tenda ditangkap di sini. Header dan bodi respons tidak ditangkap secara default tetapi dapat diaktifkan dengan mengatur opsi konfigurasi.
+ **Konfigurasi tingkat global dan langkah** - Anda dapat mengatur konfigurasi CloudWatch Synthetics di tingkat global, yang diterapkan ke semua langkah kenari. Anda juga dapat mengganti konfigurasi ini pada tingkat langkah dengan meneruskan key/value pasangan konfigurasi untuk mengaktifkan atau menonaktifkan opsi tertentu.

  Untuk informasi selengkapnya, lihat [SyntheticsConfiguration kelas](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsConfiguration).
+ **Lanjutkan pada konfigurasi kegagalan langkah**— Anda dapat memilih untuk melanjutkan eksekusi canary ketika langkah gagal. Untuk fungsi ` executeHttpStep`, ini diaktifkan secara default. Anda dapat mengatur opsi ini sekali di tingkat global atau mengaturnya berbeda-beda per-langkah. 

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

**penting**  
Versi runtime ini telah diusangkan pada 28 Mei 2021. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 10.x
+ Puppeteer-core versi 3.3.0
+ Chromium versi 83.0.4103.0

**Pembaruan di syn-nodejs-2.1**:
+ **Perilaku tangkapan layar yang dapat dikonfigurasi**— Menyediakan kemampuan untuk mematikan tangkapan layar oleh canary UI. Dalam canary yang menggunakan versi runtime sebelumnya, canary UI selalu menangkap tangkapan layar sebelum dan setelah setiap langkah. Dengan `syn-nodejs-2.1`, ini dapat dikonfigurasi. Mematikan tangkapan layar dapat mengurangi biaya penyimpanan Amazon S3, dan dapat membantu Anda mematuhi peraturan HIPAA. Untuk informasi selengkapnya, lihat [SyntheticsConfiguration kelas](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_SyntheticsConfiguration).
+ **Kustomisasi parameter peluncuran Google Chrome** Sekarang, Anda dapat mengonfigurasi argumen yang digunakan ketika canary meluncurkan jendela browser Google Chrome. Untuk informasi selengkapnya, lihat [launch(options)](CloudWatch_Synthetics_Canaries_Library_Nodejs.md#CloudWatch_Synthetics_Library_LaunchOptions).

Mungkin ada peningkatan kecil durasi canary ketika menggunakan syn-nodejs-2.0 atau lebih baru, dibandingkan dengan versi sebelumnya dari runtime canary.

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

**penting**  
Versi runtime ini telah diusangkan pada 28 Mei 2021. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 10.x
+ Puppeteer-core versi 3.3.0
+ Chromium versi 83.0.4103.0

**Pembaruan di syn-nodejs-2.0**:
+ **Dependensi yang ditingkatkan**— Versi runtime ini menggunakan versi inti Puppeteer 3.3.0 dan versi Chromium 83.0.4103.0
+ **Dukungan untuk penelusuran aktif X-Ray.** Ketika kenari mengaktifkan penelusuran, jejak X-Ray dikirim untuk semua panggilan yang dilakukan oleh kenari yang menggunakan browser, AWS SDK, atau modul HTTP atau HTTPS. Canary dengan pelacakan yang diaktifkan muncul di X-Ray Trace Map, meskipun tidak mengirim permintaan ke layanan atau aplikasi lain yang mengaktifkan pelacakan. Untuk informasi selengkapnya, lihat [Penelusuran Canary dan X-Ray](CloudWatch_Synthetics_Canaries_tracing.md).
+ **Pelaporan Synthetics** — Untuk setiap kenari yang dijalankan, CloudWatch Synthetics membuat laporan bernama ` SyntheticsReport-PASSED.json` atau ` SyntheticsReport-FAILED.json` yang mencatat data seperti waktu mulai, waktu akhir, status, dan kegagalan. Ini juga mencatat PASSED/FAILED status setiap langkah skrip kenari, dan kegagalan serta tangkapan layar yang diambil untuk setiap langkah.
+ **Laporan pemeriksa tautan terputus**— Versi baru dari pemeriksa tautan yang rusak yang disertakan dalam runtime membuat laporan yang menyertakan tautan yang diperiksa, kode status, alasan kegagalan (jika ada), dan tangkapan layar halaman sumber dan tujuan.
+ ** CloudWatch Metrik baru** — Synthetics menerbitkan metrik `2xx` bernama`4xx`,,`5xx`, `RequestFailed` dan di namespace. `CloudWatchSynthetics` Metrik ini menunjukkan jumlah 200 detik, 400 detik, 500 detik, dan meminta kegagalan dalam operasi canary. Dengan versi runtime ini, metrik ini dilaporkan hanya untuk canary UI, dan tidak dilaporkan untuk canary API. Metrik juga dilaporkan untuk API canary yang dimulai dengan versi runtime ` syn-nodejs-puppeteeer-2.2`.
+ **File HAR yang dapat disortir**— Sekarang Anda dapat menyortir file HAR Anda berdasarkan kode status, ukuran permintaan, dan durasi.
+ **Stempel waktu metrik** — CloudWatch metrik sekarang dilaporkan berdasarkan waktu pemanggilan Lambda, bukan waktu akhir kenari.

**Perbaikan bug pada syn-nodejs-2.0**:
+ Memperbaiki masalah kesalahan pengunggahan artefak canary tidak dilaporkan. Kesalahan tersebut sekarang muncul sebagai kesalahan eksekusi.
+ Memperbaiki masalah permintaan pengalihan (3xx) yang salah dicatat sebagai kesalahan.
+ Memperbaiki masalah tangkapan layar yang sedang diberi nomor mulai dari 0. Mereka sekarang harus dimulai dengan 1.
+ Memperbaiki masalah tangkapan layar yang berantakan untuk huruf Mandarin dan Jepang.

Mungkin ada peningkatan kecil durasi canary ketika menggunakan syn-nodejs-2.0 atau lebih baru, dibandingkan dengan versi sebelumnya dari runtime canary.

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

**penting**  
Versi runtime ini telah diusangkan pada 8 Februari 2021. Untuk informasi selengkapnya, lihat [Kebijakan dukungan versi runtime](CloudWatch_Synthetics_Runtime_Support_Policy.md).

**Dependensi besar**:
+ Runtime Lambda Node.js 10.x
+ Puppeteer-core versi 3.3.0
+ Chromium versi 83.0.4103.0

**Perubahan syn-nodejs-2.0-beta**:
+ **Dependensi yang ditingkatkan**— Versi runtime ini menggunakan versi inti Puppeteer 3.3.0 dan versi Chromium 83.0.4103.0
+ **Pelaporan Synthetics** — Untuk setiap kenari yang dijalankan, CloudWatch Synthetics membuat laporan bernama ` SyntheticsReport-PASSED.json` atau ` SyntheticsReport-FAILED.json` yang mencatat data seperti waktu mulai, waktu akhir, status, dan kegagalan. Ini juga mencatat PASSED/FAILED status setiap langkah skrip kenari, dan kegagalan serta tangkapan layar yang diambil untuk setiap langkah.
+ **Laporan pemeriksa tautan terputus**— Versi baru dari pemeriksa tautan yang rusak yang disertakan dalam runtime membuat laporan yang menyertakan tautan yang diperiksa, kode status, alasan kegagalan (jika ada), dan tangkapan layar halaman sumber dan tujuan.
+ ** CloudWatch Metrik baru** — Synthetics menerbitkan metrik `2xx` bernama`4xx`,,`5xx`, `RequestFailed` dan di namespace. `CloudWatchSynthetics` Metrik ini menunjukkan jumlah 200 detik, 400 detik, 500 detik, dan meminta kegagalan dalam operasi canary. Metrik ini dilaporkan hanya untuk canary UI, dan tidak dilaporkan untuk canary API.
+ **File HAR yang dapat disortir**— Sekarang Anda dapat menyortir file HAR Anda berdasarkan kode status, ukuran permintaan, dan durasi.
+ **Stempel waktu metrik** — CloudWatch metrik sekarang dilaporkan berdasarkan waktu pemanggilan Lambda, bukan waktu akhir kenari.

**Perbaikan bug dalam syn-nodejs-2.0-beta**:
+ Memperbaiki masalah kesalahan pengunggahan artefak canary tidak dilaporkan. Kesalahan tersebut sekarang muncul sebagai kesalahan eksekusi.
+ Memperbaiki masalah permintaan pengalihan (3xx) yang salah dicatat sebagai kesalahan.
+ Memperbaiki masalah tangkapan layar yang sedang diberi nomor mulai dari 0. Mereka sekarang harus dimulai dengan 1.
+ Memperbaiki masalah tangkapan layar yang berantakan untuk huruf Mandarin dan Jepang.

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

Versi runtime Synthetic pertama adalah `syn-1.0`.

**Dependensi besar**:
+ Runtime Lambda Node.js 10.x
+ Puppeteer-core versi 1.14.0
+ Versi Chromium yang sesuai dengan Puppeteer-core 1.14.0

# Versi runtime yang menggunakan Python dan Selenium Webdriver
<a name="CloudWatch_Synthetics_Library_python_selenium"></a>

Bagian berikut berisi informasi tentang versi runtime CloudWatch Synthetics untuk Python dan Selenium Webdriver. Selenium adalah alat otomatisasi browser sumber terbuka. [Untuk informasi lebih lanjut tentang Selenium, lihat www.selenium.dev/](https://www.selenium.dev)

[Untuk fitur dan metode yang didukung oleh runtime Synthetics pada kerangka Selenium, lihat [kelas dan fungsi library Python dan Selenium yang hanya berlaku untuk kenari UI dan referensi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library_Python.html#CloudWatch_Synthetics_Library_Python_UIcanaries) API Selenium.](https://www.selenium.dev/selenium/docs/api/py/api.html)

Konvensi penamaan untuk versi runtime ini adalah `syn-language -framework-majorversion. minorversion`.

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

Versi 10.0 adalah runtime CloudWatch Synthetics terbaru untuk Python dan Selenium.

**Dependensi besar**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium versi 145.0.7632.77

**Perubahan syn-python-selenium -10.0** 
+ Patch keamanan terapan dan versi browser yang diperbarui.

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log Perubahan Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Dokumentasi selenium](https://www.selenium.dev/selenium/docs/api/py/api.html) 

## Versi runtime sebelumnya untuk Python dan Selenium
<a name="Previousversions-python-selenium"></a>

Versi runtime sebelumnya berikut untuk Python dan Selenium masih didukung. 

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

**Dependensi besar**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium versi 143.0.7499.169

**Perubahan syn-python-selenium -9.0** 
+ Patch keamanan terapan dan versi browser yang diperbarui.

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log Perubahan Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Dokumentasi 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>

Versi 8.0 adalah runtime CloudWatch Synthetics terbaru untuk Python dan Selenium.

**Dependensi besar**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium versi 142.0.7444.175

**Perubahan syn-python-selenium -8.0** 
+ Patch keamanan terapan dan versi Selenium dan browser yang diperbarui.
+ Modifikasi tingkat log permintaan jaringan HAR yang gagal dari ERROR ke INFO.

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log Perubahan Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Dokumentasi 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>

**Dependensi besar**:
+ Python 3.11
+ Selenium 4.32.0
+ Chromium versi 138.0.7204.168

 **Perubahan syn-python-selenium -7.0** 
+ Patch keamanan terapan dan versi Selenium dan browser yang diperbarui.

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log Perubahan Selenium](https://www.selenium.dev/blog/2025/selenium-4-32-released) 
+  [Dokumentasi 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>

**Dependensi besar**:
+ Python 3.11
+ Selenium 4.21.0
+ Chromium versi 131.0.6778.264

 **Perubahan syn-python-selenium -6.0** 
+ Upgrade dari Python 3.9 ke Python 3.11.

Untuk informasi selengkapnya, lihat berikut ini:
+  [Log Perubahan Selenium](https://www.selenium.dev/blog/2024/selenium-4-21-released/) 
+  [Dokumentasi 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>

**Dependensi besar**:
+ Python 3.9
+ Selenium 4.21.0
+ Chromium versi 131.0.6778.264

 **Perubahan syn-python-selenium -5.1** 
+ Pembaruan kecil tentang emisi metrik.
+ Mendukung dry run untuk kenari yang memungkinkan eksekusi adhoc atau melakukan pembaruan kenari yang aman.

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

**Dependensi besar**:
+ Python 3.9
+ Selenium 4.21.0
+ Chromium versi 131.0.6778.264

**Perubahan syn-python-selenium -5.0**:
+ Coba lagi otomatis jika browser gagal diluncurkan.

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

**Dependensi besar**:
+ Python 3.9
+ Selenium 4.15.1
+ Chromium versi 126.0.6478.126

**Perubahan syn-python-selenium -4.1**:
+ **Mengatasi kerentanan keamanan** — Runtime ini memiliki pembaruan untuk mengatasi kerentanan [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>

**Dependensi besar**:
+ Python 3.9
+ Selenium 4.15.1
+ Chromium versi 126.0.6478.126

**Perubahan syn-python-selenium -4.0**:
+ **Perbaikan bug** untuk kesalahan dalam logging parser HAR.

## Versi runtime yang tidak digunakan lagi untuk Python dan Selenium
<a name="Deprecated-python-selenium"></a>

Versi runtime sebelumnya berikut untuk Python dan Selenium telah usang. Untuk informasi tentang tanggal penghentian runtime, lihat. [CloudWatch Tanggal penghentian runtime 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>

**Dependensi besar**:
+ Python 3.8
+ Selenium 4.15.1
+ Chromium versi 121.0.6167.139

**Perubahan syn-python-selenium -3.0**:
+ **Versi terbaru dari pustaka yang dibundel di Chromium** — Ketergantungan Chromium diperbarui ke versi baru.

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

**Dependensi besar**:
+ Python 3.8
+ Selenium 4.15.1
+ Chromium versi 111.0.5563.146

**Perubahan syn-python-selenium -2.1**:
+ **Versi terbaru dari pustaka yang dibundel di Chromium** - Dependensi Chromium dan Selenium diperbarui ke versi baru.

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

**Dependensi besar**:
+ Python 3.8
+ Selenium 4.10.0
+ Chromium versi 111.0.5563.146

**Perubahan syn-python-selenium -2.0**:
+ **Dependensi yang diperbarui**— Dependensi Chromium dan Selenium diperbarui ke versi baru.

**Perbaikan bug di syn-python-selenium -2.0**:
+ **Stempel waktu ditambahkan** — Sebuah stempel waktu telah ditambahkan ke log canary.
+ **Penggunaan kembali sesi** — Bug telah diperbaiki sehingga canary sekarang dicegah untuk menggunakan kembali sesi dari canary sebelumnya.

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

**Dependensi besar**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versi 92.0.4512.0

**Perubahan syn-python-selenium -1.3**:
+ **Stempel waktu yang lebih presisi**— Waktu mulai dan waktu berhenti canary sekarang presisi hingga milidetik.

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

**Dependensi besar**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versi 92.0.4512.0
+ **Dependensi yang diperbarui**— Satu-satunya fitur baru dalam runtime ini adalah dependensi yang diperbarui.

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

**Dependensi besar**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versi 83.0.4103.0

**Fitur-fitur**:
+ **Fungsi handler kustom**— Anda sekarang dapat menggunakan fungsi handler kustom untuk skrip canary Anda. Runtime sebelumnya mengharuskan titik masuk skrip untuk menyertakan `.handler`. 

  Anda juga dapat menempatkan skrip canary di folder apa pun dan meneruskan nama folder sebagai bagian dari handler. Misalnya, `MyFolder/MyScriptFile.functionname` dapat digunakan sebagai titik masuk.
+ **Opsi konfigurasi untuk menambahkan metrik dan konfigurasi kegagalan langkah**— Opsi ini sudah tersedia di runtime untuk canary Node.js. Untuk informasi selengkapnya, lihat [SyntheticsConfiguration kelas](CloudWatch_Synthetics_Canaries_Library_Python.md#CloudWatch_Synthetics_Library_SyntheticsConfiguration_Python).
+ **Argumen kustom di Chrome** — Anda sekarang dapat membuka browser dalam mode penyamaran atau meneruskan konfigurasi server proxy. Untuk informasi selengkapnya, lihat [Chrome()](CloudWatch_Synthetics_Canaries_Library_Python.md#CloudWatch_Synthetics_Library_Python_Chrome).
+ **Bucket artefak Lintas Wilayah** — Sebuah canary dapat menyimpan artefaknya di bucket Amazon S3 di Wilayah yang berbeda.
+ **Perbaikan bug, termasuk perbaikan untuk masalah `index.py`** — Dengan runtime sebelumnya, file canary bernama ` index.py` menyebabkan pengecualian karena bertentangan dengan nama file pustaka. Masalah ini sekarang telah diperbaiki.

### syn-python-selenium-1,0
<a name="CloudWatch_Synthetics_runtimeversion-syn-python-selenium-1.0"></a>

**Dependensi besar**:
+ Python 3.8
+ Selenium 3.141.0
+ Chromium versi 83.0.4103.0

**Fitur-fitur**:
+ **Dukungan selenium**— Anda dapat menulis skrip canary menggunakan kerangka kerja uji Selenium. Anda dapat membawa skrip Selenium Anda dari tempat lain ke CloudWatch Synthetics dengan sedikit perubahan, dan mereka akan bekerja dengan layanan. AWS 

# Versi runtime menggunakan Node.js
<a name="CloudWatch_Synthetics_Library_Nodejs"></a>

Bagian berikut berisi informasi tentang versi runtime CloudWatch Synthetics untuk Node.js. Runtime ini tidak menyertakan browser atau kerangka kerja apa pun.

Konvensi penamaan untuk versi runtime ini adalah `syn-language -majorversion.minorversion`.

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

**penting**  
Memulai Synthetics `syn-nodejs-3.1` dan yang lebih baru, runtime Synthetics menggunakan namespace baru. Silakan memigrasikan skrip canary untuk menggunakan namespace baru. Namespace lama akan ditinggalkan di rilis mendatang.  
@ amzn/synthetics-core → @aws/synthetics -inti

**Dependensi besar**:
+ AWS Lambda runtime Node.js 22.x

 **Perubahan syn-nodejs-4.1** 
+ Tingkatkan `fast-xml-parser` ke 5.5.7 untuk mengatasi hal berikut: CVEs
  + CVE-2026-25128
  + CVE-2026-25896
  + CVE-2026-26278
  + CVE-2026-27942
  + CVE-2026-33036

## Versi runtime sebelumnya untuk Node.js
<a name="Previousversions-nodejs"></a>

Versi runtime sebelumnya berikut untuk Node.js masih didukung. 

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 22.x

 **Perubahan syn-nodejs-4.0** 
+ Patch keamanan terapan. 

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

**penting**  
Memulai Synthetics `syn-nodejs-3.1` dan yang lebih baru, runtime Synthetics menggunakan namespace baru. Silakan memigrasikan skrip canary untuk menggunakan namespace baru. Namespace lama akan ditinggalkan di rilis mendatang.  
@ amzn/synthetics-core → @aws/synthetics -inti

**Dependensi besar**:
+ AWS Lambda runtime Node.js 20.x

 **Perubahan syn-nodejs-3.1** 
+ Migrasi namespace runtime Synthetics. 
+ Definisi tipe tersedia di [npm Registry](https://www.npmjs.com/package/@aws/synthetics-core). Harap pastikan versi paket definisi tipe cocok dengan versi runtime kenari Anda.

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

**Dependensi besar**:
+ AWS Lambda runtime Node.js 20.x

 **Perubahan syn-nodejs-3.0** 
+ Support untuk cetak biru multi cek. 

# Kebijakan dukungan versi runtime
<a name="CloudWatch_Synthetics_Runtime_Support_Policy"></a>

Versi runtime Synthetic bergantung pada pembaruan pemeliharaan dan keamanan. Ketika komponen mana pun dari sebuah versi runtime tidak lagi didukung, maka versi runtime Synthetics itu tidak lagi digunakan.

Anda tidak dapat membuat canary menggunakan versi runtime yang tidak lagi digunakan. Canary yang menggunakan runtime yang tidak lagi digunakan terus berjalan. Anda dapat menghentikan, memulai, dan menghapus canary ini. Anda dapat memperbarui canary yang sudah ada yang menggunakan versi runtime tercatat dengan memperbarui canary untuk menggunakan versi runtime yang didukung.

CloudWatch Synthetics memberi tahu Anda melalui email jika Anda memiliki kenari yang menggunakan runtime yang dijadwalkan tidak digunakan lagi dalam 60 hari ke depan. Kami merekomendasikan Anda memigrasi canary Anda ke versi runtime yang didukung untuk mendapatkan keuntungan dari peningkatan fungsionalitas, keamanan, dan peningkatan performa baru yang disertakan dalam rilis terbaru. 

## CloudWatch Tanggal penghentian runtime Synthetics
<a name="runtime_deprecation_dates"></a>

Tabel berikut mencantumkan tanggal penghentian setiap runtime Synthetics yang tidak digunakan lagi. CloudWatch 


| Versi Runtime | Tanggal pengusangan | 
| --- | --- | 
|   `syn-python-selenium-5.1`   |  Februari 3, 2026  | 
|   `syn-python-selenium-5.0`   |  Februari 3, 2026  | 
|   `syn-python-selenium-4.1`   |  Februari 3, 2026  | 
|   `syn-python-selenium-4.0`   |  Februari 3, 2026  | 
|   `syn-nodejs-puppeteer-7.0`   |  Januari 22, 2026  | 
|   `syn-nodejs-puppeteer-6.2`   |  Januari 22, 2026  | 
|   `syn-nodejs-puppeteer-5.2`   |  Januari 22, 2026  | 
|   `syn-python-selenium-3.0`   |  Januari 22, 2026  | 
|   `syn-python-selenium-2.1`   |  Januari 22, 2026  | 
|   `syn-nodejs-puppeteer-6.1`   |  8 Maret 2024  | 
|   `syn-nodejs-puppeteer-6.0`   |  8 Maret 2024  | 
|   `syn-nodejs-puppeteer-5.1`   |  8 Maret 2024  | 
|   `syn-nodejs-puppeteer-5.0`   |  8 Maret 2024  | 
|   `syn-nodejs-puppeteer-4.0`   |  8 Maret 2024  | 
|   `syn-nodejs-puppeteer-3.9`   |  8 Januari 2024  | 
|   `syn-nodejs-puppeteer-3.8`   |  8 Januari 2024  | 
|   `syn-python-selenium-2.0`   |  8 Maret 2024  | 
|   `syn-python-selenium-1.3`   |  8 Maret 2024  | 
|   `syn-python-selenium-1.2`   |  8 Maret 2024  | 
|   `syn-python-selenium-1.1`   |  8 Maret 2024  | 
|   `syn-python-selenium-1.0`   |  8 Maret 2024  | 
|   `syn-nodejs-puppeteer-3.7`   |  8 Januari 2024  | 
|   `syn-nodejs-puppeteer-3.6`   |  8 Januari 2024  | 
|   `syn-nodejs-puppeteer-3.5`   |  8 Januari 2024  | 
|   `syn-nodejs-puppeteer-3.4`   |  13 November 2022  | 
|   `syn-nodejs-puppeteer-3.3`   |  13 November 2022  | 
|   `syn-nodejs-puppeteer-3.2`   |  13 November 2022  | 
|   `syn-nodejs-puppeteer-3.1`   |  13 November 2022  | 
|   `syn-nodejs-puppeteer-3.0`   |  13 November 2022  | 
|   `syn-nodejs-2.2`   |  28 Mei 2021  | 
|   `syn-nodejs-2.1`   |  28 Mei 2021  | 
|   `syn-nodejs-2.0`   |  28 Mei 2021  | 
|   `syn-nodejs-2.0-beta`   |  8 Februari 2021  | 
|   `syn-1.0`   |  28 Mei 2021  | 

# Pembaruan versi runtime
<a name="CloudWatch_Synthetics_Runtime_Version_Update"></a>

Anda dapat memperbarui versi runtime kenari dengan menggunakan CloudWatch konsol, AWS CloudFormation, AWS CLI atau SDK. AWS Saat Anda menggunakan CloudWatch konsol, Anda dapat memperbarui hingga lima kenari sekaligus dengan memilihnya di halaman daftar kenari dan kemudian memilih **Tindakan**, **Perbarui** Runtime.

Anda dapat memverifikasi pembaruan dengan mengujinya terlebih dahulu sebelum melakukan pembaruan runtime. Saat memperbarui versi runtime, pilih **Start Dry Run** atau **Validate dan simpan opsi nanti** di CloudWatch konsol untuk membuat dry run kenari asli bersama dengan perubahan apa pun yang Anda buat pada konfigurasi. Dry run akan memperbarui dan mengeksekusi kenari untuk memvalidasi apakah pembaruan runtime aman untuk kenari. Setelah Anda memverifikasi kenari Anda dengan versi runtime baru, Anda dapat memperbarui versi runtime kenari Anda. Untuk informasi selengkapnya, lihat [Melakukan pembaruan kenari yang aman](performing-safe-canary-upgrades.md).

Atau, Anda dapat memverifikasi pembaruan dengan terlebih dahulu mengkloning kenari menggunakan CloudWatch konsol dan memperbarui versi runtime. Hal ini menciptakan canary lain yang merupakan klon dari canary asli Anda. Setelah Anda memverifikasi canary Anda dengan versi runtime yang baru, Anda dapat memperbarui versi runtime canary asli Anda dan menghapus canary klon tersebut.

 Anda juga dapat memperbarui beberapa canary menggunakan skrip peningkatan. Untuk informasi selengkapnya, lihat [Skrip peningkatan runtime canary](#CloudWatch_Synthetics_Canaries_upgrade_script).

Jika Anda meningkatkan canary dan gagal, silakan lihat [Memecahkan masalah canary yang gagal](CloudWatch_Synthetics_Canaries_Troubleshoot.md).

## Skrip peningkatan runtime canary
<a name="CloudWatch_Synthetics_Canaries_upgrade_script"></a>

Untuk meningkatkan skrip canary untuk versi runtime yang didukung, gunakan skrip berikut.

```
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));
}
```