Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Ein Canary-Skript schreiben
In den folgenden Abschnitten wird erklärt, wie man ein Canary-Skript schreibt und wie man ein Canary-Skript in andere AWS Dienste und mit externen Abhängigkeiten und Bibliotheken integriert.
Themen
Ändern eines vorhandenen Selenium-Skripts zur Verwendung eines Synthetics-Canarys
Sie können schnell ein vorhandenes Skript für Python und Selenium ändern, um als Canary verwendet zu werden. Weitere Informationen zu Selenium finden Sie unter www.selenium.dev/
In diesem Beispiel beginnen wir mit dem folgenden Selenium-Skript:
from selenium import webdriver def basic_selenium_script(): browser = webdriver.Chrome() browser.get('https://example.com') browser.save_screenshot('loaded.png') basic_selenium_script()
Für die Konvertierung sind die folgenden Schritte durchzuführen.
So konvertieren Sie ein Selenium-Skript für die Verwendung als Canary
Ändern Sie die
import
-Anweisung, um Selenium aus demaws_synthetics
-Modul zu verwenden:from aws_synthetics.selenium import synthetics_webdriver as webdriver
Das Selenium-Modul von
aws_synthetics
stellt sicher, dass der Canary Metriken und Protokolle ausgeben, eine HAR-Datei generieren und mit anderen CloudWatch Synthetics-Funktionen arbeiten kann.Erstellen Sie eine Handler-Funktion und rufen Sie Ihre Selenium-Methode auf. Der Handler ist die Eintrittsfunktion für das Skript.
Wenn Sie
syn-python-selenium-1.0
verwenden, muss die Handler-Funktion den Namenhandler
haben. Wenn Siesyn-python-selenium-1.1
oder neuer verwenden, kann die Funktion einen beliebigen Namen haben. Dieser Name muss jedoch mit dem Namen im Skript übereinstimmen. Wenn Siesyn-python-selenium-1.1
oder neuer verwenden, können Sie Ihre Skripte außerdem in einem beliebigen Ordner ablegen und diesen Ordner als Teil des Handlernamens angeben.def handler(event, context): basic_selenium_script()
Das Skript wurde jetzt aktualisiert und ist jetzt ein CloudWatch Synthetics-Kanarienvogel. Nachfolgend finden Sie das aktualisierte Skript:
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()
Änderung eines vorhandenen Puppeteer Synthetics-Skripts zur Authentifizierung von nicht standardmäßigen Zertifikaten
Ein wichtiger Anwendungsfall für Synthetics Canaries ist die Überwachung Ihrer eigenen Endgeräte. Wenn Sie einen Endpunkt überwachen möchten, der nicht für externen Datenverkehr bereit ist, kann diese Überwachung manchmal bedeuten, dass Sie kein richtiges Zertifikat haben, das von einer vertrauenswürdigen Zertifizierungsstelle eines Drittanbieters signiert wurde.
Zwei mögliche Lösungen für dieses Szenario lauten wie folgt:
Informationen zur Authentifizierung eines Client-Zertifikats finden Sie unter So validieren Sie die Authentifizierung mit Amazon CloudWatch Synthetics — Teil 2.
Informationen zur Authentifizierung eines selbstsignierten Zertifikats finden Sie unter So validieren Sie die Authentifizierung mit selbstsignierten Zertifikaten
in Amazon Synthetics CloudWatch
Sie sind nicht auf diese beiden Optionen beschränkt, wenn Sie CloudWatch Synthetics Canaries verwenden. Sie können diese Funktionen erweitern und Ihre Geschäftslogik hinzufügen, indem Sie den Canary-Code erweitern.
Anmerkung
Synthetics Canaries, die auf Python-Laufzeiten laufen, haben das --ignore-certificate-errors
Flag von Haus aus aktiviert, sodass diese Canaries keine Probleme haben sollten, Websites mit nicht standardmäßigen Zertifikatkonfigurationen zu erreichen.