编写 Canary 脚本 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

编写 Canary 脚本

以下部分介绍了如何编写 Canary 脚本以及如何将 Canary 与其他 Amazon 服务集成。

更改现有 Puppeteer 脚本以使用 Synthetics Canary

您可以快速修改用于 Python 和 Selenium 的现有脚本以用作 Canary。有关 Selenium 的更多信息,请参阅 www.selenium.dev/

在本示例中,将从以下 Selenium 脚本开始:

from selenium import webdriver def basic_selenium_script(): browser = webdriver.Chrome() browser.get('https://example.com') browser.save_screenshot('loaded.png') basic_selenium_script()

转换步骤如下。

转换 Selenium 脚本以用作 Canary

  1. 更改 import 语句以使用 aws_synthetics 模块中的 Selenium:

    from aws_synthetics.selenium import synthetics_webdriver as webdriver

    aws_synthetics 模块中的 Selenium 确保 Canary 可以发出指标和日志、生成 HAR 文件及使用其他 CloudWatch Synthetics 功能。

  2. 创建一个处理程序函数并调用您的 Selenium 方法。处理程序是脚本的入口点函数。

    如果您使用 syn-python-selenium-1.0,处理程序函数必须命名为 handler。如果您使用 syn-python-selenium-1.1 或之后版本,函数可以有任何名称,但必须与脚本中使用的名称相同。此外,如果您使用 syn-python-selenium-1.1 或之后版本,您可以将脚本存储在任何文件夹下,并将该文件夹指定为处理程序名称的一部分。

    def handler(event, context): basic_selenium_script()

脚本现已更新为 CloudWatch Synthetics Canary。更新的脚本如下:

from aws_synthetics.selenium import synthetics_webdriver as webdriver def basic_selenium_script(): browser = webdriver.Chrome() browser.get('https://example.com') browser.save_screenshot('loaded.png') def handler(event, context): basic_selenium_script()