View a markdown version of this page

Utilizzo delle dipendenze con CloudWatch Synthetics canaries - Amazon CloudWatch

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:GetLayerVersion al 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.