View a markdown version of this page

Utilisation des dépendances avec les canaris CloudWatch Synthetics - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des dépendances avec les canaris CloudWatch Synthetics

Cette section explique comment l'utiliser Dependencies dans les canaris CloudWatch Synthetics. Le champ Dependencies vous permet de spécifier des dépendances pour vos scripts Canary, afin d’y inclure des bibliothèques supplémentaires ou du code personnalisé que vos scripts peuvent utiliser.

Présentation de

CloudWatch Les canaris Synthetics permettent de spécifier des couches Lambda en tant que dépendances. Cette fonctionnalité vous permet de :

  • Partager du code commun entre plusieurs scripts Canary

  • Gérer les dépendances séparément du code de votre script Canary

  • Réduire la taille de votre script Canary en déplaçant les dépendances dans une couche Lambda

Soutenu APIs

Le Dependencies champ est pris en charge dans les domaines suivants APIs :

Syntaxe

Le champ Dependencies fait partie de la structure de code dans la syntaxe des requêtes :

"Code": { "Handler": "string", "S3Bucket": "string", "S3Key": "string", "S3Version": "string", "ZipFile": blob, "Dependencies": [ { "Type": "LambdaLayer", "Reference": "string" } ] }

Utilisation des dépendances

Voici quelques exemples et instructions d’utilisation du champ Dependencies dans différents scénarios.

Création d’un script Canary avec des dépendances

Lors de la création d’un script Canary, vous pouvez spécifier une couche Lambda comme dépendance :

{ "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" }

Mise à jour des dépendances d’un script Canary

Vous pouvez mettre à jour les dépendances d'un canari à l'aide de l' UpdateCanary API :

{ "Name": "my-canary", "Code": { "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-updated-layer:2" } ] } }

Suppression des dépendances

Pour supprimer les dépendances d’un script Canary, fournissez un tableau vide dans le champ Dépendances :

{ "Name": "my-canary", "Code": { "Dependencies": [] } }

Tester les dépendances avec StartCanaryDryRun

Avant de mettre à jour un canari avec de nouvelles dépendances, vous pouvez les tester à l'aide de l' StartCanaryDryRun API :

{ "Name": "my-canary", "Code": { "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-test-layer:3" } ] } }

Limites et considérations

  • Une seule couche Lambda peut être spécifiée en tant que dépendance

  • Le rôle utilisé pour créer un script Canary avec dépendances doit disposer d’un accès  lambda:GetLayerVersion à la couche de dépendance, en plus des rôles et autorisations requis

Création de couches Lambda compatibles

Pour plus d’informations sur la façon de créer et d’empaqueter des couches, consultez Gestion des dépendances Lambda avec des couches. Pour comprendre la structure d’empaquetage d’un script Canary, consultez Écriture d’un script Canary.