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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 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运行时版本时,请确保您的 Canary 脚本与 Node.js 12.x 兼容。如果您使用syn-nodejs运行时版本的早期版本,请确保您的脚本与 Node.js 10.x 兼容。

Canary 中的 Lambda 代码已配置为具有最多 1 GB 内存. 在配置的超时值之后,该超时将适用于每个运行的 Canary。如果未为 Canary 指定超时值,CloudWatch 会根据 Canary 的频率来选择超时值。

syn-nodejs-puppeteer-3.0

syn-nodejs-puppeteer-3.0 运行时是最新的运行时版本。

主要依赖项

  • Lambda 运行时 Node.js 12.x

  • Puppeteer-core 5.5.0 版

  • Chromium 版本 88.0.4298.0

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

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

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

  • 新函数可用— 此版本添加库函数以检索 Canary 名称和 Synthetics 运行时版本。

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

syn-nodejs-22.2

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

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 版本 83.0.4103.0

syn-nodejs-2 中的新功能:

  • 将 Canary 作为 HTTP 步骤—进行监控 现在,您可以在单个 Canary APIs 中测试多个 。每个 API 作为一个单独的 HTTP 步骤进行测试CloudWatch,Synthetics 使用步骤指标和 CloudWatch Synthetics 步骤报告监控每个步骤的状态。 CloudWatchSynthetics 为每个 HTTP 步骤创建 SuccessPercentDuration 指标。

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

    API Canary 蓝图已更新为使用此新功能。

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

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

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

  • Continue on step failure configuration (继续执行步骤失败配置—) 您可以选择在步骤失败时继续执行 Canary。对于 executeHttpStep 函数,这是默认开启的。您可以在全局级别设置一次此选项,也可以按不同的步骤设置该选项。

syn-nodejs-22.1

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 版本 83.0.4103.0

syn-nodejs-2 中的新功能:

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

  • 自定义 Google Chrome 启动参数 现在,您可以配置在 Canary 启动 Google Chrome 浏览器窗口时使用的参数。有关更多信息,请参阅launch(选项).

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

syn-nodejs-2

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 版本 83.0.4103.0

syn-nodejs-2 中的新功能:

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

  • 支持X-Ray活动跟踪。 如果 Canary 启用了跟踪,则会为使用浏览器X-Ray、开发工具包或 HTTP 或 HTTPS 模块的 Canary 进行的所有调用发送AWS跟踪。具有启用跟踪的 Canary 将显示在 CloudWatch ServiceLens 和 中的服务地图上X-Ray,即使它们没有将请求发送到已启用跟踪的其他服务或应用程序。有关更多信息,请参阅Canary 和 X-Ray 跟踪.

  • Synthetics 报告— 对于每个 Canary 运行CloudWatch,Synthetics 会创建一个名为 SyntheticsReport-PASSED.jsonSyntheticsReport-FAILED.json 的报告,以记录开始时间、结束时间、状态和故障等数据。它还记录 Canary 脚本每个步骤的 PASSED/FAILED 状态,以及为每个步骤捕获的故障和屏幕截图。

  • 失败的链接检查程序报告— 此运行时中包含的新版失效链接检查程序将创建一个报告,其中包含已检查的链接、状态代码、失败原因(如果有)以及源和目标页面屏幕截图。

  • 新CloudWatch指标— Synthetics 在 2xx 命名空间4xx中发布名为 5xxRequestFailed、 和 CloudWatchSynthetics的指标。这些指标显示 Canary 运行中的 200s、400s、500s和请求失败的数量。对于此运行时版本,仅为 UI Canary 报告这些指标,而不为 API Canary 报告这些指标。对于以运行时版本 开头的 API Canary 也报告它们syn-nodejs-puppeteeer-2.2

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

  • 指标时间戳—CloudWatch指标现在根据Lambda调用时间而不是金丝雀运行结束时间来报告。

syn-nodejs-2 中的错误修复:

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

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

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

  • 修复了为中文和日语字体添加屏幕截图的问题。

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

syn-nodejs-20-beta

重要

syn-nodejs-2.0-beta 将于 2021 年 2 月 8 日弃用。有关 CloudWatch Synthetics 运行时支持策略的更多信息,请参阅Canary 运行时支持策略

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 3.3.0 版

  • Chromium 版本 83.0.4103.0

syn-nodejs-20-beta 中的新功能:

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

  • Synthetics 报告— 对于每个 Canary 运行CloudWatch,Synthetics 会创建一个名为 SyntheticsReport-PASSED.jsonSyntheticsReport-FAILED.json 的报告,以记录开始时间、结束时间、状态和故障等数据。它还记录 Canary 脚本每个步骤的 PASSED/FAILED 状态,以及为每个步骤捕获的故障和屏幕截图。

  • 失败的链接检查程序报告— 此运行时中包含的新版失效链接检查程序将创建一个报告,其中包含已检查的链接、状态代码、失败原因(如果有)以及源和目标页面屏幕截图。

  • 新CloudWatch指标— Synthetics 在 2xx 命名空间4xx中发布名为 5xxRequestFailed、 和 CloudWatchSynthetics的指标。这些指标显示 Canary 运行中的 200s、400s、500s和请求失败的数量。这些指标仅为 UI Canary 报告,而不为 API Canary 报告。

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

  • 指标时间戳—CloudWatch指标现在根据Lambda调用时间而不是 Canary 运行结束时间来报告。

syn-nodejs-20-beta 中的错误修复:

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

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

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

  • 修复了为中文和日语字体添加屏幕截图的问题。

syn-10

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

主要依赖项

  • Lambda 运行时 Node.js 10.x

  • Puppeteer-core 1.14.0 版

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