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

编写金丝雀脚本

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

更改现有 Puppeteer 脚本以使用 Synthetics 金丝雀

您可以快速修改用于 Python 和 Selenium 的现有脚本以用作金丝雀。有关 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 脚本以用作金丝雀
  1. 更改 import 语句以使用 aws_synthetics 模块中的 Selenium:

    from aws_synthetics.selenium import synthetics_webdriver as webdriver

    aws_synthetics 模块中的 Selenium 确保金丝雀可以发出指标和日志、生成 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 金丝雀。更新的脚本如下:

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()