

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
<a name="CloudWatch_Synthetics_Canaries_dependencies"></a>

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
<a name="overview"></a>

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
<a name="supported-apis"></a>

Le `Dependencies` champ est pris en charge dans les domaines suivants APIs :
+  [CreateCanary](https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_CreateCanary.html) 
+  [UpdateCanary](https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html) 
+  [ StartCanaryDryRun](https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_StartCanaryDryRun.html) 

## Syntaxe
<a name="syntax"></a>

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
<a name="usage"></a>

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
<a name="creating-canary"></a>

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
<a name="updating-canary"></a>

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
<a name="removing-dependencies"></a>

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
<a name="testing-dependencies"></a>

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
<a name="limitations"></a>
+ 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles.html)

## Création de couches Lambda compatibles
<a name="creating-compatible-layers"></a>

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](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html). Pour comprendre la structure d’empaquetage d’un script Canary, consultez [Écriture d’un script Canary](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary.html).