Canary スクリプトの作成 - Amazon CloudWatch

Canary スクリプトの作成

以下のセクションでは、Canary スクリプトを作成する方法と、Canary を他の AWS のサービスと統合する方法について説明します。

Synthetics Canary を使用するようにするための既存の Selenium の変更

Canary として使用するために、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 スクリプトを Canary として使用するように変換するには
  1. aws_synthetics モジュールから Selenium を使用するように import ステートメントを変更します。

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