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à.
Prova un canarino a livello locale
Questa sezione spiega come modificare, testare ed eseguire il debug di CloudWatch Synthetics canaries direttamente all'interno di Microsoft Visual Studio editor di codice o JetBrains IDE editor di codice. L'ambiente di debug locale utilizza un contenitore Serverless Application Model (SAM) per simulare una funzione Lambda per emulare il comportamento di un canarino Synthetics.
Nota
Non è pratico eseguire localmente il debug dei canarini che si basano sul monitoraggio visivo. Il monitoraggio visivo si basa sull'acquisizione di schermate di base durante un'esecuzione iniziale e sul successivo confronto di queste schermate con le schermate delle esecuzioni successive. In un ambiente di sviluppo locale, le esecuzioni non vengono archiviate o tracciate e ogni iterazione è un'esecuzione indipendente e autonoma. L'assenza di una cronologia di esecuzione dei canarini rende poco pratico il debug dei canarini che si basano sul monitoraggio visivo.
Prerequisiti
Scegli o crea un bucket Amazon S3 da utilizzare per archiviare gli artefatti dei test locali di Canary, come file e schermate. HAR Ciò richiede che tu sia dotato di. IAM Se salti la configurazione dei bucket Amazon S3, puoi comunque testare il tuo canarino localmente, ma vedrai un messaggio di errore relativo al bucket mancante e non avrai accesso agli artefatti del canarino.
Se utilizzi un bucket Amazon S3, ti consigliamo di impostare il ciclo di vita del bucket in modo da eliminare gli oggetti dopo alcuni giorni, per risparmiare sui costi. Per ulteriori informazioni, consulta Gestione del ciclo di vita dell’archiviazione.
Configura un profilo predefinito AWS per il tuo account. AWS Per ulteriori informazioni, consulta Impostazioni dei file di configurazione e credenziali.
Imposta la AWS regione predefinita dell'ambiente di debug sulla tua regione preferita, ad esempio.
us-west-2
Installa il. AWS SAM CLI Per ulteriori informazioni, consulta l'argomento relativo all'installazione di AWS SAM CLI.
Installa Visual Studio Code Editor oppure JetBrains IDEPer ulteriori informazioni, consulta . Visual Studio Code
o JetBrains IDE Installa Docker lavorare con AWS SAM CLI. Assicurati di avviare il demone docker. Per ulteriori informazioni, consulta Installazione Docker da usare con AWS SAM CLI.
In alternativa, è possibile installare altri software di gestione dei container, ad esempio Rancher, purché utilizzi il Docker runtime.
Installa un'estensione del AWS toolkit per il tuo editor preferito. Per ulteriori informazioni, vedere Installazione di AWS Toolkit for Visual Studio Code o Installazione di AWS Toolkit for JetBrains.
Argomenti
Configurare l'ambiente di test e debug
Innanzitutto, clona il repository Github che lo fornisce inserendo il seguente comando. AWS Il repository contiene esempi di codice sia per i canari Node.js che per i canari Python.
git clone https://github.com/aws-samples/synthetics-canary-local-debugging-sample.git
Quindi esegui una delle seguenti operazioni, a seconda della lingua dei tuoi canarini.
Per i canarini Node.js
Vai alla directory dei sorgenti di Node.js canary inserendo il seguente comando.
cd synthetics-canary-local-debugging-sample/nodejs-canary/src
Immettere il seguente comando per installare le dipendenze canarie.
npm install
Per i canarini in Python
Vai alla directory dei sorgenti di Python canary inserendo il seguente comando.
cd synthetics-canary-local-debugging-sample/python-canary/src
Immettere il seguente comando per installare le dipendenze canarie.
pip3 install -r requirements.txt -t .
Utilizzo Visual Studio Code IDE
Il Visual Studio il file di configurazione di avvio si trova in. .vscode/launch.json
Contiene configurazioni per consentire al file modello di essere scoperto da Visual
Studio codice. Definisce un payload Lambda con i parametri richiesti per richiamare correttamente il canarino. Ecco la configurazione di avvio per un canarino Node.js:
{ ... ... "lambda": { "payload": { "json": { // Canary name. Provide any name you like. "canaryName": "LocalSyntheticsCanary", // Canary artifact location "artifactS3Location": { "s3Bucket": "cw-syn-results-123456789012-us-west-2", "s3Key": "local-run-artifacts", }, // Your canary handler name "customerCanaryHandlerName": "heartbeat-canary.handler" } }, // Environment variables to pass to the canary code "environmentVariables": {} } } ] }
Puoi anche fornire facoltativamente i seguenti campi nel payload: JSON
s3EncryptionMode
Valori validi: |SSE_S3
SSE_KMS
s3KmsKeyArn
Valore valido:KMS Key ARN
activeTracing
Valori validi:true
|false
canaryRunId
Valore valido:UUID
Questo parametro è obbligatorio se la traccia attiva è abilitata.
Per eseguire il debug del canarino Visual Studio, aggiungi punti di interruzione nel codice canario in cui desideri sospendere l'esecuzione. Per aggiungere un punto di interruzione, scegli il margine dell'editor e vai alle modalità Esegui e Debug nell'editor. Esegui il canarino facendo clic sul pulsante play. Quando il canarino è in funzione, i log verranno registrati nella console di debug, che ti fornirà informazioni in tempo reale sul comportamento del canarino. Se hai aggiunto punti di interruzione, l'esecuzione di Canary si interromperà in corrispondenza di ogni punto di interruzione, consentendoti di esaminare il codice e controllare i valori delle variabili, i metodi di istanza, gli attributi degli oggetti e lo stack di chiamate di funzione.
Non sono previsti costi per l'esecuzione e il debug di Canaries localmente, ad eccezione degli artefatti archiviati nel bucket Amazon S3 e delle metriche generate da ogni esecuzione locale. CloudWatch
Utilizzo JetBrains IDE
Dopo aver installato l' AWS Toolkit for JetBrains estensione, assicuratevi che il plugin e il JavaScript debugger Node.js siano abilitati all'esecuzione, se state eseguendo il debug di un canarino Node.js. Quindi procedi come descritto di seguito.
Esegui il debug di un canarino usando JetBrains IDE
Nel riquadro di navigazione a sinistra di JetBrains IDE, scegli Lambda, quindi scegli il modello di configurazione locale.
Inserisci un nome per la configurazione di esecuzione, ad esempio
LocalSyntheticsCanary
Scegli Da template, scegli il file browser nel campo template, quindi seleziona il file template.yml dal progetto, dalla directory nodejs o dalla directory python.
Nella sezione Input, inserisci il payload per il canarino come mostrato nella schermata seguente.
{ "canaryName": "LocalSyntheticsCanary", "artifactS3Location": { "s3Bucket": "cw-syn-results-123456789012-us-west-2", "s3Key": "local-run-artifacts" }, "customerCanaryHandlerName": "heartbeat-canary.handler" }
È inoltre possibile impostare altre variabili di ambiente nel payloadJSON, come elencato in. Utilizzo Visual Studio Code IDE
Esegui un canarino localmente con SAM CLI
Utilizzate una delle seguenti procedure per eseguire canary localmente utilizzando il Serverless Application Model (). SAM CLI Assicurati di specificare il nome del tuo bucket Amazon S3 per in s3Bucket
event.json
Da utilizzare per SAM CLI eseguire un canarino Node.js
Accedere alla directory dei sorgenti immettendo il seguente comando.
cd synthetics-canary-local-debugging-sample/nodejs-canary
Esegui i comandi seguenti:
sam build sam local invoke -e ../event.json
Per usare SAM CLI per eseguire un canary Python
Vai alla directory dei sorgenti inserendo il seguente comando.
cd synthetics-canary-local-debugging-sample/python-canary
Esegui i comandi seguenti:
sam build sam local invoke -e ../event.json
Integra il tuo ambiente di test locale in un pacchetto canary esistente
Puoi integrare il debug locale di Canary nel tuo pacchetto canary esistente copiando tre file:
Copia il
template.yml
file nella radice del tuo pacchetto canary. Assicurati di modificare il percorso in modo che puntiCodeUri
alla directory in cui esiste il tuo codice canarino.Se state lavorando con un canarino Node.js, copiate il
cw-synthetics.js
file nella directory dei sorgenti di Canary. Se stai lavorando con un canary Python, copialo nella tua directory dei sorgenticw-synthetics.py
di Canary.Copia il file di configurazione di avvio.
vscode/launch.json
nella radice del pacchetto. Assicurati di metterlo all'interno della.vscode
cartella; crealo se non esiste già.
Modificare il runtime di CloudWatch Synthetics
Come parte del debug, potresti provare a eseguire un canary con un runtime Synthetics diverso, invece del runtime CloudWatch più recente. A tale scopo, trovate il runtime che desiderate utilizzare da una delle seguenti tabelle. Assicurati di selezionare il runtime per la regione corretta. Quindi incolla ARN il file relativo a quel runtime nella posizione appropriata template.yml
del file, quindi esegui Canary.
Runtime Node.js
ARNsper syn-nodejs-puppeteer -7.0
La tabella seguente elenca la versione ARNs syn-nodejs-puppeteer-7.0
da utilizzare per il runtime CloudWatch Synthetics in AWS ciascuna regione in cui è disponibile.
Regione | ARN |
---|---|
Stati Uniti orientali (Virginia settentrionale) |
|
Stati Uniti orientali (Ohio) |
|
Stati Uniti occidentali (California settentrionale) |
|
Stati Uniti occidentali (Oregon) |
|
Africa (Città del Capo) |
|
Asia Pacifico (Hong Kong) |
|
Asia Pacific (Hyderabad) |
|
Asia Pacifico (Giacarta) |
|
Asia Pacifico (Melbourne) |
|
Asia Pacifico (Mumbai) |
|
Asia Pacific (Osaka) |
|
Asia Pacific (Seul) |
|
Asia Pacifico (Singapore) |
|
Asia Pacifico (Sydney) |
|
Asia Pacifico (Tokyo) |
|
Canada (Centrale) |
|
Canada occidentale (Calgary) |
|
Cina (Pechino) |
|
Cina (Ningxia) |
|
Europa (Francoforte) |
|
Europa (Irlanda) |
|
Europa (Londra) |
|
Europa (Milano) |
|
Europa (Parigi) |
|
Europa (Spagna) |
|
Europa (Stoccolma) |
|
Europa (Zurigo) |
|
Israele (Tel Aviv) |
|
Medio Oriente (Bahrein) |
|
Medio Oriente () UAE |
|
Sud America (San Paolo) |
|
AWS GovCloud (Stati Uniti orientali) |
|
AWS GovCloud (Stati Uniti occidentali) |
|
ARNsper syn-nodejs-puppeteer -6.2
La tabella seguente elenca la versione ARNs syn-nodejs-puppeteer-6.2
da utilizzare per il runtime CloudWatch Synthetics in AWS ciascuna regione in cui è disponibile.
Regione | ARN |
---|---|
Stati Uniti orientali (Virginia settentrionale) |
|
Stati Uniti orientali (Ohio) |
|
Stati Uniti occidentali (California settentrionale) |
|
Stati Uniti occidentali (Oregon) |
|
Africa (Città del Capo) |
|
Asia Pacifico (Hong Kong) |
|
Asia Pacific (Hyderabad) |
|
Asia Pacifico (Giacarta) |
|
Asia Pacifico (Melbourne) |
|
Asia Pacifico (Mumbai) |
|
Asia Pacific (Osaka) |
|
Asia Pacific (Seul) |
|
Asia Pacifico (Singapore) |
|
Asia Pacifico (Sydney) |
|
Asia Pacifico (Tokyo) |
|
Canada (Centrale) |
|
Canada occidentale (Calgary) |
|
Cina (Pechino) |
|
Cina (Ningxia) |
|
Europa (Francoforte) |
|
Europa (Irlanda) |
|
Europa (Londra) |
|
Europa (Milano) |
|
Europa (Parigi) |
|
Europa (Spagna) |
|
Europa (Stoccolma) |
|
Europa (Zurigo) |
|
Israele (Tel Aviv) |
|
Medio Oriente (Bahrein) |
|
Medio Oriente () UAE |
|
Sud America (San Paolo) |
|
AWS GovCloud (Stati Uniti orientali) |
|
AWS GovCloud (Stati Uniti occidentali) |
|
ARNsper syn-nodejs-puppeteer -5.2
La tabella seguente elenca la versione ARNs syn-nodejs-puppeteer-5.2
da utilizzare per il runtime CloudWatch Synthetics in AWS ciascuna regione in cui è disponibile.
Regione | ARN |
---|---|
Stati Uniti orientali (Virginia settentrionale) |
|
Stati Uniti orientali (Ohio) |
|
Stati Uniti occidentali (California settentrionale) |
|
Stati Uniti occidentali (Oregon) |
|
Africa (Città del Capo) |
|
Asia Pacifico (Hong Kong) |
|
Asia Pacific (Hyderabad) |
|
Asia Pacifico (Giacarta) |
|
Asia Pacifico (Melbourne) |
|
Asia Pacifico (Mumbai) |
|
Asia Pacific (Osaka) |
|
Asia Pacific (Seul) |
|
Asia Pacifico (Singapore) |
|
Asia Pacifico (Sydney) |
|
Asia Pacifico (Tokyo) |
|
Canada (Centrale) |
|
Canada occidentale (Calgary) |
|
Cina (Pechino) |
|
Cina (Ningxia) |
|
Europa (Francoforte) |
|
Europa (Irlanda) |
|
Europa (Londra) |
|
Europa (Milano) |
|
Europa (Parigi) |
|
Europa (Spagna) |
|
Europa (Stoccolma) |
|
Europa (Zurigo) |
|
Israele (Tel Aviv) |
|
Medio Oriente (Bahrein) |
|
Medio Oriente () UAE |
|
Sud America (San Paolo) |
|
AWS GovCloud (Stati Uniti orientali) |
|
AWS GovCloud (Stati Uniti occidentali) |
|
Runtime Python
ARNsper syn-python-selenium -3.0
La tabella seguente elenca la versione ARNs syn-python-selenium-3.0
da utilizzare per il runtime CloudWatch Synthetics in AWS ciascuna regione in cui è disponibile.
Regione | ARN |
---|---|
Stati Uniti orientali (Virginia settentrionale) |
|
Stati Uniti orientali (Ohio) |
|
Stati Uniti occidentali (California settentrionale) |
|
Stati Uniti occidentali (Oregon) |
|
Africa (Città del Capo) |
|
Asia Pacifico (Hong Kong) |
|
Asia Pacific (Hyderabad) |
|
Asia Pacifico (Giacarta) |
|
Asia Pacifico (Melbourne) |
|
Asia Pacifico (Mumbai) |
|
Asia Pacific (Osaka) |
|
Asia Pacific (Seul) |
|
Asia Pacifico (Singapore) |
|
Asia Pacifico (Sydney) |
|
Asia Pacifico (Tokyo) |
|
Canada (Centrale) |
|
Canada occidentale (Calgary) |
|
Cina (Pechino) |
|
Cina (Ningxia) |
|
Europa (Francoforte) |
|
Europa (Irlanda) |
|
Europa (Londra) |
|
Europa (Milano) |
|
Europa (Parigi) |
|
Europa (Spagna) |
|
Europa (Stoccolma) |
|
Europa (Zurigo) |
|
Israele (Tel Aviv) |
|
Medio Oriente (Bahrein) |
|
Medio Oriente () UAE |
|
Sud America (San Paolo) |
|
AWS GovCloud (Stati Uniti orientali) |
|
AWS GovCloud (Stati Uniti occidentali) |
|
ARNsper syn-python-selenium -2.1
La tabella seguente elenca la versione ARNs syn-python-selenium-2.1
da utilizzare per il runtime CloudWatch Synthetics in AWS ciascuna regione in cui è disponibile.
Regione | ARN |
---|---|
Stati Uniti orientali (Virginia settentrionale) |
|
Stati Uniti orientali (Ohio) |
|
Stati Uniti occidentali (California settentrionale) |
|
Stati Uniti occidentali (Oregon) |
|
Africa (Città del Capo) |
|
Asia Pacifico (Hong Kong) |
|
Asia Pacific (Hyderabad) |
|
Asia Pacifico (Giacarta) |
|
Asia Pacifico (Melbourne) |
|
Asia Pacifico (Mumbai) |
|
Asia Pacific (Osaka) |
|
Asia Pacific (Seul) |
|
Asia Pacifico (Singapore) |
|
Asia Pacifico (Sydney) |
|
Asia Pacifico (Tokyo) |
|
Canada (Centrale) |
|
Canada occidentale (Calgary) |
|
Cina (Pechino) |
|
Cina (Ningxia) |
|
Europa (Francoforte) |
|
Europa (Irlanda) |
|
Europa (Londra) |
|
Europa (Milano) |
|
Europa (Parigi) |
|
Europa (Spagna) |
|
Europa (Stoccolma) |
|
Europa (Zurigo) |
|
Israele (Tel Aviv) |
|
Medio Oriente (Bahrein) |
|
Medio Oriente () UAE |
|
Sud America (San Paolo) |
|
AWS GovCloud (Stati Uniti orientali) |
|
AWS GovCloud (Stati Uniti occidentali) |
|
Errori comuni
Errore: l'esecuzione locale AWS SAM dei progetti richiede Docker. L'hai installato e funzionante?
Assicurati di iniziare Docker sul tuo computer.
SAMrichiamo locale non riuscito: si è verificato un errore (ExpiredTokenException) durante la chiamata dell' GetLayerVersion operazione: il token di sicurezza incluso nella richiesta è scaduto
Assicuratevi che il profilo AWS predefinito sia impostato.
Errori più comuni
Per ulteriori informazioni sugli errori più comuni relativi aSAM, vedere AWS SAMCLIRisoluzione dei problemi.