使用 Node.js 和 Puppeteer 的运行时版本 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Node.js 和 Puppeteer 的运行时版本

使用 Node.js 和 Puppeteer 的第一个运行时版本被命名为 syn-1.0。后续运行时版本采用命名约定 syn-language-majorversion.minorversion。从 syn-nodejs-puppeteer-3.0 开始,命名约定为 syn-language-framework-majorversion.minorversion

额外添加的 -beta 后缀用以显示运行时版本当前为测试预览版。

具有相同主版本号的运行时版本将始终向后兼容。

关于所有运行时版本的说明

使用 syn-nodejs-puppeteer-3.0 运行时版本时,请确保金丝雀脚本与 Node.js 12.x 兼容。如果使用早期 syn-nodejs 运行时版本,请确保脚本与 Node.js 10.x 兼容。

金丝雀中的 Lambda 代码已配置为具有最多 1 GB 内存。在配置的超时值之后,该超时将适用于每个运行的金丝雀。如果未为金丝雀指定超时值,则 CloudWatch 会根据金丝雀的频率来选择超时值。如要配置超时值,请使此值不要短于 15 秒钟,以预留 Lambda 冷启动以及启动金丝雀工具的时间。

重要

以下 CloudWatch Synthetics 运行时版本于 2022 年 11 月 13 日弃用。这是因为 Amazon Lambda 于 2022 年 11 月 14 日弃用 Lambda Node.js 12 运行时。

  • syn-nodejs-puppeteer-3.4

  • syn-nodejs-puppeteer-3.3

  • syn-nodejs-puppeteer-3.2

  • syn-nodejs-puppeteer-3.1

  • syn-nodejs-puppeteer-3.0

有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

syn-nodejs-puppeteer-3.9

syn-nodejs-puppeteer-3.9 运行时是 Node.js 和 Puppeteer 的最新运行时版本。

主要依赖项

  • Lambda 运行时 Node.js 14.x

  • Puppeteer-core 5.5.0 版

  • Chromium 92.0.4512 版

syn-nodejs-puppeteer-3.9 中的新功能

  • 依赖项升级 – 升级一些第三方依赖项包。

syn-nodejs-puppeteer-3.8

主要依赖项

  • Lambda 运行时 Node.js 14.x

  • Puppeteer-core 5.5.0 版

  • Chromium 92.0.4512 版

syn-nodejs-puppeteer-3.8 中的新功能

  • 配置文件清理 – 现在,每次金丝雀脚本运行后,都会清理 Chromium 配置文件。

syn-nodejs-puppeteer-3.8 中的错误修复

  • 错误修复 – 以前,在没有屏幕截图的情况下运行后,可视化监控金丝雀脚本有时会停止正常工作。此问题现已修复。

syn-nodejs-puppeteer-3.7

主要依赖项

  • Lambda 运行时 Node.js 14.x

  • Puppeteer-core 5.5.0 版

  • Chromium 92.0.4512 版

syn-nodejs-puppeteer-3.7 中的新功能

  • 日志记录增强功能 — 即使 Amazon S3 超时或崩溃,金丝雀也会将日志上传到 Amazon S3。

  • Lambda 层大小已减小 — 用于金丝雀的 Lambda 层的大小减小了 34%。

syn-nodejs-puppeteer-3.7 中的错误修复

  • 错误修复 — 日语、简体中文和繁体中文字体将正确呈现。

syn-nodejs-puppeteer-3.6

主要依赖项

  • Lambda 运行时 Node.js 14.x

  • Puppeteer-core 5.5.0 版

  • Chromium 92.0.4512 版

syn-nodejs-puppeteer-3.6 中的新功能

  • 更精确的时间戳 — 金丝雀运行的开始时间和停止时间现在精确到毫秒。

syn-nodejs-puppeteer-3.5

主要依赖项

  • Lambda 运行时 Node.js 14.x

  • Puppeteer-core 5.5.0 版

  • Chromium 92.0.4512 版

syn-nodejs-puppeteer-3.5 中的新功能

  • 更新的项目依赖项— 此运行时中唯一的新功能是更新的项目依赖项。

syn-nodejs-puppeteer-3.4

重要

此运行时版本于 2022 年 11 月 13 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 12.x

  • Puppeteer-core 5.5.0 版

  • Chromium 88.0.4298.0 版

syn-nodejs-puppeteer-3.4 中的新功能:

  • 自定义处理程序函数— 您现在可以对金丝雀脚本使用自定义处理程序函数。之前的运行时要求脚本入口点包括 .handler

    您还可以将金丝雀脚本放在任何文件夹中,并将文件夹名称作为处理程序的一部分进行传递。例如,MyFolder/MyScriptFile.functionname 可以用作入口点。

  • 扩展的 HAR 文件信息— 您现在可以在金丝雀生成的 HAR 文件中看到恶意、待处理和未完成的请求。

syn-nodejs-puppeteer-3.3

重要

此运行时版本于 2022 年 11 月 13 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 12.x

  • Puppeteer-core 5.5.0 版

  • Chromium 88.0.4298.0 版

syn-nodejs-puppeteer-3.3 中的新功能

  • 用于构件加密的更多选项 – 对于使用此运行时或更高版本运行时(而不是使用 Amazon 托管式密钥)来加密金丝雀存储在 Amazon S3 中的构件的金丝雀,您可以选择使用 Amazon KMS 客户托管式密钥或 Amazon S3 托管式密钥。有关更多信息,请参阅加密金丝雀构件

syn-nodejs-puppeteer-3.2

重要

此运行时版本于 2022 年 11 月 13 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 12.x

  • Puppeteer-core 5.5.0 版

  • Chromium 88.0.4298.0 版

syn-nodejs-puppeteer-3.2 中的新功能

  • 使用屏幕截图进行可视化监控 – 使用此运行时或更高版本运行时的金丝雀可以将运行期间捕获的屏幕截图与相同屏幕截图的基准版本进行比较。如果屏幕截图与指定百分比阈值之间的差异较大,则金丝雀将失败。有关更多信息,请参阅 可视化监控可视监控蓝图

  • 与敏感数据相关的新函数:您可以阻止敏感数据出现在金丝雀日志和报告中。有关更多信息,请参阅SyntheticsLogHelper 类

  • 已弃用的函数RequestResponseLogHelper 类已弃用,以支持其他新配置选项。有关更多信息,请参阅RequestResponseLogHelper 类

syn-nodejs-puppeteer-3.1

重要

此运行时版本于 2022 年 11 月 13 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 12.x

  • Puppeteer-core 5.5.0 版

  • Chromium 88.0.4298.0 版

syn-nodejs-puppeteer-3.1 中的新功能

  • CloudWatch 指标配置功能 – 使用此运行时,您可以禁用不需要的指标。否则,金丝雀会发布每次金丝雀运行的各种 CloudWatch 指标。

  • 屏幕截图链接 – 您可以在金丝雀步骤完成后将屏幕截图链接到该步骤。为此,您可以使用 takeScreenshot 方法捕获屏幕截图,并使用要与屏幕截图关联的步骤的名称。例如,您可能想要执行某个步骤,添加等待时间,然后捕获屏幕截图。

  • 检测信号监控器蓝图可以监控多个 URL – 您可以使用 CloudWatch 控制台中的检测信号监控蓝图来监控多个 URL,并在金丝雀运行报告的步骤摘要中查看每个 URL 的状态、持续时间、关联的屏幕截图和故障原因。

syn-nodejs-puppeteer-3.0

重要

此运行时版本于 2022 年 11 月 13 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 12.x

  • Puppeteer-core 5.5.0 版

  • Chromium 88.0.4298.0 版

syn-nodejs-puppeteer-3.0 中的新功能

  • 升级的依赖项 – 此版本使用 Puppeteer 5.5.0 版、Node.js 12.x 和 Chromium 88.0.4298.0。

  • 跨区域存储桶访问 – 您现在可以指定另一个区域中的 S3 存储桶作为金丝雀存储其日志文件、屏幕截图和 HAR 文件的存储桶。

  • 可用的新函数 – 此版本添加了库函数来检索金丝雀名称和 Synthetics 运行时版本。

    有关更多信息,请参阅Synthetics 类

syn-nodejs-2.2

本节包含有关 syn-nodejs-2.2 运行时版本的信息。

重要

此运行时版本已于 2021 年 5 月 28 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 83.0.4103.0 版

syn-nodejs-2.2 中的新功能

  • 作为 HTTP 步骤监控您的金丝雀 – 您现在可以在一个金丝雀中测试多个 API。每个 API 都作为单独的 HTTP 步骤进行测试,CloudWatch Synthetics 会使用步骤指标和 CloudWatch Synthetics 步骤报告监控每个步骤的状态。CloudWatch Synthetics 会为每个 HTTP 步骤创建 SuccessPercentDuration 指标。

    此功能由 executeHttpStep(stepName, requestOptions, callback, stepConfig) 函数实现。有关更多信息,请参阅executeHttpStep(stepName, requestOptions, [callback], [stepConfig])

    API 金丝雀蓝图已更新为使用此新功能。

  • HTTP 请求报告 – 您现在可以查看详细的 HTTP 请求报告,这些报告捕获的是请求/响应标头、响应正文、状态代码、错误和性能计时、TCP 连接时间、TLS 握手时间、第一字节时间和内容传输时间等详细信息。所有使用后台 HTTP/HTTPS 模块的 HTTP 请求都在此处捕获。预设情况下不会捕获标头和响应正文,但可以通过设置配置选项来启用捕获标头和响应正文。

  • 全局和步骤级配置 – 您可以在全局级别设置 CloudWatch Synthetics 配置,这些配置应用于金丝雀的所有步骤。您还可以通过传递配置键/值对来启用或禁用某些选项,在步骤级别覆盖这些配置。

    有关更多信息,请参阅SyntheticsConfiguration 类

  • 继续执行步骤故障配置 – 您可以选择在步骤故障时继续执行金丝雀。对于 executeHttpStep 函数,预设情况下,此选项处于启用状态。您可以在全局级别设置此选项一次,或者针对每个步骤做出不同的设置。

syn-nodejs-2.1

重要

此运行时版本已于 2021 年 5 月 28 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 83.0.4103.0 版

syn-nodejs-2.1 中的新功能

  • 可配置的屏幕截图行为 – 提供关闭 UI 金丝雀捕获屏幕截图的功能。在使用以前版本运行时的金丝雀中,UI 金丝雀始终在每个步骤前后捕获屏幕截图。在 syn-nodejs-2.1 中,可配置此行为。关闭屏幕截图可以降低您的 Amazon S3 存储成本,并有助于您遵守 HIPAA 法规。有关更多信息,请参阅SyntheticsConfiguration 类

  • 自定义 Google Chrome 启动参数:现在,您可以配置当金丝雀启动 Google Chrome 浏览器窗口时使用的参数。有关更多信息,请参阅launch(options)

与更早版本的金丝雀运行时相比,使用 syn-nodejs-2.0 或更高版本时,金丝雀持续时间可能会略有增加。

syn-nodejs-2.0

重要

此运行时版本已于 2021 年 5 月 28 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 83.0.4103.0 版

syn-nodejs-2.0 中的新功能

  • 升级的依赖项 – 此运行时版本使用 Puppeteer-core 3.3.0 版和 Chromium 83.0.4103.0 版

  • 支持 X-Ray 活动跟踪。金丝雀启用跟踪后,将针对由使用浏览器、Amazon SDK 或 HTTP 或 HTTPS 模块的金丝雀发出的所有调用发送 X-Ray 跟踪。启用了跟踪的金丝雀会显示在 CloudWatch Servicelens 和 X-Ray 中的服务地图上,即使它们没有向启用了跟踪的其他服务或应用程序发送请求。有关更多信息,请参阅金丝雀和 X-Ray 跟踪

  • Synthetics 报告 – CloudWatch Synthetics 会针对每次金丝雀运行创建一个名为 SyntheticsReport-PASSED.jsonSyntheticsReport-FAILED.json 的报告,其中记录了开始时间、结束时间、状态和故障等数据。报告中还记录金丝雀脚本的每个步骤的 PASSED/FAILED 状态,以及每个步骤捕获的失败和屏幕截图。

  • 无效链接检查器报告 – 此运行时中包含的新版本无效链接检查器会创建一个报告,其中包括已检查的链接、状态代码、故障原因(如有)以及源页面和目标页面屏幕截图。

  • 新 CloudWatch 指标 – Synthetics 在 CloudWatchSynthetics 命名空间中发布名为 2xx4xx5xxRequestFailed 的指标。这些指标会显示金丝雀运行中 200 秒、400 秒、500 秒和请求故障的数量。在此运行时版本中,这些指标仅针对 UI 金丝雀报告,而不针对 API 金丝雀报告。从 syn-nodejs-puppeteeer-2.2 运行时版本开始,也针对 API 金丝雀报告这些指标。

  • 可排序的 HAR 文件 – 您现在可以按状态代码、请求大小和持续时间对 HAR 文件进行排序。

  • 指标时间戳 – 现在基于 Lambda 调用时间而非金丝雀运行结束时间报告 CloudWatch 指标。

syn-nodejs-2.0 中的错误修复

  • 修复了不报告金丝雀构件上载错误的问题。此类错误现在显示为执行错误。

  • 修复了将重定向请求 (3xx) 误记为错误的问题。

  • 修复了从 0 开始编号屏幕截图的问题。现在应从 1 开始编号。

  • 修复了中文和日文字体屏幕截图乱码的问题。

与更早版本的金丝雀运行时相比,使用 syn-nodejs-2.0 或更高版本时,金丝雀持续时间可能会略有增加。

syn-nodejs-2.0-beta

重要

此运行时版本已于 2021 年 2 月 8 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 83.0.4103.0 版

syn-nodejs-2.0-beta 中的新功能

  • 升级的依赖项 – 此运行时版本使用 Puppeteer-core 3.3.0 版和 Chromium 83.0.4103.0 版

  • Synthetics 报告 – CloudWatch Synthetics 会针对每次金丝雀运行创建一个名为 SyntheticsReport-PASSED.jsonSyntheticsReport-FAILED.json 的报告,其中记录了开始时间、结束时间、状态和故障等数据。报告中还记录金丝雀脚本的每个步骤的 PASSED/FAILED 状态,以及每个步骤捕获的失败和屏幕截图。

  • 无效链接检查器报告 – 此运行时中包含的新版本无效链接检查器会创建一个报告,其中包括已检查的链接、状态代码、故障原因(如有)以及源页面和目标页面屏幕截图。

  • 新 CloudWatch 指标 – Synthetics 在 CloudWatchSynthetics 命名空间中发布名为 2xx4xx5xxRequestFailed 的指标。这些指标会显示金丝雀运行中 200 秒、400 秒、500 秒和请求故障的数量。仅针对 UI 金丝雀报告而不针对 API 金丝雀报告这些指标。

  • 可排序的 HAR 文件 – 您现在可以按状态代码、请求大小和持续时间对 HAR 文件进行排序。

  • 指标时间戳 – 现在基于 Lambda 调用时间而非金丝雀运行结束时间报告 CloudWatch 指标。

syn-nodejs-2.0-beta 中的错误修复

  • 修复了不报告金丝雀构件上载错误的问题。此类错误现在显示为执行错误。

  • 修复了将重定向请求 (3xx) 误记为错误的问题。

  • 修复了从 0 开始编号屏幕截图的问题。现在应从 1 开始编号。

  • 修复了中文和日文字体屏幕截图乱码的问题。

syn-1.0

重要

此运行时版本计划于 2021 年 5 月 28 日弃用。有关更多信息,请参阅CloudWatch Synthetics 运行时支持策略

第一个 Synthetics 运行时版本是 syn-1.0

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 1.14.0 版

  • 与 Puppeteer-core 1.14.0 匹配的 Chromium 版本