

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan dependensi dengan kenari Synthetics CloudWatch
<a name="CloudWatch_Synthetics_Canaries_dependencies"></a>

Bagian ini menjelaskan cara menggunakan kenari `Dependencies` CloudWatch Synthetics. `Dependencies`Bidang ini memungkinkan Anda menentukan dependensi untuk kenari Anda, memungkinkan Anda untuk menyertakan pustaka tambahan atau kode khusus yang dapat digunakan skrip kenari Anda.

## Ikhtisar
<a name="overview"></a>

CloudWatch Synthetics canaries mendukung menentukan lapisan Lambda sebagai dependensi. Fitur ini memungkinkan Anda untuk:
+ Bagikan kode umum di beberapa kenari
+ Kelola dependensi secara terpisah dari kode skrip kenari Anda
+ Kurangi ukuran skrip kenari Anda dengan memindahkan dependensi ke lapisan Lambda

## Didukung APIs
<a name="supported-apis"></a>

`Dependencies`Bidang ini didukung sebagai berikut 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) 

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

`Dependencies`Bidang adalah bagian dari struktur kode dalam sintaks permintaan:

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

## Menggunakan dependensi
<a name="usage"></a>

Berikut adalah beberapa contoh dan instruksi untuk menggunakan `Dependencies` bidang dalam skenario yang berbeda.

### Membuat Canary dengan dependensi
<a name="creating-canary"></a>

Saat membuat kenari, Anda dapat menentukan lapisan Lambda sebagai ketergantungan:

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

### Memperbarui dependensi Canary
<a name="updating-canary"></a>

Anda dapat memperbarui dependensi kenari menggunakan API: UpdateCanary 

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

### Menghapus dependensi
<a name="removing-dependencies"></a>

Untuk menghapus dependensi dari kenari, sediakan array kosong untuk bidang Dependencies:

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

### Menguji dependensi dengan StartCanaryDryRun
<a name="testing-dependencies"></a>

Sebelum memperbarui kenari dengan dependensi baru, Anda dapat mengujinya menggunakan API: StartCanaryDryRun 

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

## Pertimbangan dan batasan
<a name="limitations"></a>
+ Hanya satu lapisan Lambda yang dapat ditentukan sebagai dependensi
+ [Peran yang digunakan untuk membuat kenari dengan dependensi harus memiliki ` lambda:GetLayerVersion` akses ke lapisan ketergantungan selain peran dan izin yang diperlukan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles.html)

## Membuat lapisan Lambda yang kompatibel
<a name="creating-compatible-layers"></a>

[Untuk informasi tentang cara membuat dan mengemas lapisan, lihat [Mengelola dependensi Lambda dengan lapisan](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html) dan untuk memahami struktur kemasan pemeriksaan kenari berdasarkan struktur pengepakan kenari, lihat Menulis skrip kenari.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary.html)