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 として使用するように変換するには
aws_synthetics
モジュールから Selenium を使用するようにimport
ステートメントを変更します。from aws_synthetics.selenium import synthetics_webdriver as webdriver
aws_synthetics
の Selenium モジュールは、Canary がメトリクスとログを出力し、HAR ファイルを生成し、他の CloudWatch Synthetics 機能で動作することを保証します。ハンドラ関数を作成し、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()