Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Scrivere uno script canary
Le sezioni seguenti spiegano come scrivere uno script canarino e come integrare un canary con altri AWS servizi e con dipendenze e librerie esterne.
Argomenti
Scrivere uno script canary Node.js usando il runtime Playwright
Scrivere uno script canary Node.js usando il runtime Puppeteer
Modifica di uno script Selenium esistente da utilizzare come canary di Synthetics
Modifica di uno script Puppeteer Synthetics esistente per autenticare certificati non standard
Modifica di uno script Selenium esistente da utilizzare come canary di Synthetics
Puoi modificare rapidamente uno script esistente per Python e Selenium da utilizzare come canary. Per ulteriori informazioni su Selenium, consulta www.selenium.dev/
Per questo esempio, inizieremo con il seguente script 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()
Le fasi di conversione sono le seguenti.
Per convertire uno script selenio da usare come canary
Modifica l'istruzione
import
per utilizzare Selenium dal moduloaws_synthetics
:from aws_synthetics.selenium import synthetics_webdriver as webdriver
Il modulo Selenium di
aws_synthetics
assicura che il canarino possa emettere metriche e registri, generare un file HAR e funzionare con altre funzionalità di Synthetics. CloudWatchCrea una funzione del gestore e chiama il tuo metodo Selenium. Il gestore è la funzione del punto di ingresso per lo script.
Se utilizzi un tempo
syn-python-selenium-1.0
, la funzione del gestore deve essere denominatahandler
. Se utilizzi un temposyn-python-selenium-1.1
o successivo, la funzione può avere un nome qualsiasi, purché corrisponda a quello utilizzato nello script. Inoltre, se utilizzi un temposyn-python-selenium-1.1
o successivo, puoi archiviare gli script in qualsiasi cartella e definire quest'ultima nel nome del gestore.def handler(event, context): basic_selenium_script()
Lo script è ora aggiornato per essere un canarino CloudWatch Synthetics. Ecco lo script aggiornato:
webdriver
È un'istanza della classe SyntheticsWebDrivere il browser restituito da webdriver.Chrome()
è un'istanza di. SyntheticsBrowser
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()
Modifica di uno script Puppeteer Synthetics esistente per autenticare certificati non standard
Un caso d'uso importante per Synthetics canaries è il monitoraggio dei propri endpoint. Se volete monitorare un endpoint che non è pronto per il traffico esterno, questo monitoraggio a volte può significare che non avete un certificato adeguato firmato da un'autorità di certificazione terza affidabile.
Le due possibili soluzioni a questo scenario sono le seguenti:
Per autenticare un certificato client, consulta Come convalidare l'autenticazione utilizzando Amazon Synthetics CloudWatch
— Parte 2. Per autenticare un certificato autofirmato, vedi Come convalidare l'autenticazione con certificati autofirmati
in Amazon Synthetics CloudWatch
Non sei limitato a queste due opzioni quando usi i canarini CloudWatch Synthetics. Puoi estendere queste funzionalità e aggiungere la tua logica aziendale estendendo il codice canarino.
Nota
I canary Synthetics in esecuzione su runtime Python hanno per natura il flag abilitato, quindi non dovrebbero --ignore-certificate-errors
avere problemi a raggiungere siti con configurazioni di certificati non standard.