

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

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

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

Il `Dependencies` campo è supportato nei seguenti casi: 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) 

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

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

Di seguito sono riportati alcuni esempi e istruzioni per l'utilizzo del campo `Dependencies` in diversi scenari.

### Creazione di un Canary con dipendenze
<a name="creating-canary"></a>

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

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

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

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

## Creazione di livelli Lambda compatibili
<a name="creating-compatible-layers"></a>

Per informazioni su come creare e impacchettare i livelli, consulta [Managing Lambda dependencies with layers](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html), mentre per comprendere la struttura di impacchettamento di un canary in base alla sua organizzazione, consulta [Writing a canary script](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary.html).