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à.
Utilizzo delle dipendenze con CloudWatch Synthetics canaries
Questa sezione spiega come usare Dependencies nei canarini CloudWatch Synthetics. Il campo Dependencies ti consente di specificare le dipendenze per i tuoi canary, consentendoti di includere librerie aggiuntive o codice personalizzato utilizzabile dai tuoi script Canary.
Panoramica di
CloudWatch Synthetics Canaries supporta la specificazione dei layer Lambda come dipendenze. Questa funzionalità consente di:
-
Condividere codice comune su più canary
-
Gestire le dipendenze separatamente dal codice dello script canary
-
Ridurre le dimensioni del tuo script canary spostando le dipendenze su un livello Lambda
Supportato APIs
Il Dependencies campo è supportato nei seguenti casi: APIs
Sintassi
Il campo Dependencies fa parte della struttura del codice nella sintassi della richiesta:
"Code": { "Handler": "string", "S3Bucket": "string", "S3Key": "string", "S3Version": "string", "ZipFile": blob, "Dependencies": [ { "Type": "LambdaLayer", "Reference": "string" } ] }
Utilizzo delle dipendenze
Di seguito sono riportati alcuni esempi e istruzioni per l'utilizzo del campo Dependencies in diversi scenari.
Creazione di un Canary con dipendenze
Quando crei un canary, puoi specificare un livello Lambda come dipendenza:
{ "Name": "my-canary", "Code": { "Handler": "pageLoadBlueprint.handler", "S3Bucket": "my-bucket", "S3Key": "my-canary-script.zip", "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-custom-layer:1" } ] }, "ArtifactS3Location": "s3://my-bucket/artifacts/", "ExecutionRoleArn": "arn:aws:iam::123456789012:role/my-canary-role", "Schedule": { "Expression": "rate(5 minutes)" }, "RuntimeVersion": "syn-nodejs-puppeteer-3.9" }
Aggiornamento delle dipendenze di un canary
Puoi aggiornare le dipendenze di un canarino utilizzando l' UpdateCanary API:
{ "Name": "my-canary", "Code": { "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-updated-layer:2" } ] } }
Rimozione delle dipendenze
Per rimuovere le dipendenze da un canary, fornisci un array vuoto per il campo dipendenze:
{ "Name": "my-canary", "Code": { "Dependencies": [] } }
Testare le dipendenze con StartCanaryDryRun
Prima di aggiornare un canarino con nuove dipendenze, puoi testarlo utilizzando l'API: StartCanaryDryRun
{ "Name": "my-canary", "Code": { "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-test-layer:3" } ] } }
Considerazioni e limitazioni
-
È possibile specificare un solo livello Lambda come dipendenza
-
Il ruolo utilizzato per creare un canary con dipendenze dovrebbe avere accesso
lambda:GetLayerVersional livello delle dipendenze oltre ai ruoli e alle autorizzazioni necessari
Creazione di livelli Lambda compatibili
Per informazioni su come creare e impacchettare i livelli, consulta Managing Lambda dependencies with layers, mentre per comprendere la struttura di impacchettamento di un canary in base alla sua organizzazione, consulta Writing a canary script.