View a markdown version of this page

Verwenden von Abhängigkeiten mit CloudWatch Synthetics Canaries - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Abhängigkeiten mit CloudWatch Synthetics Canaries

In diesem Abschnitt wird die Verwendung von Dependencies In CloudWatch Synthetics Canaries erklärt. Mit dem Dependencies-Feld können Sie Abhängigkeiten für Ihre Canarys angeben, sodass Sie zusätzliche Bibliotheken oder benutzerdefinierten Code hinzufügen können, den Ihre Canary-Skripte verwenden können.

-Übersicht

CloudWatch Synthetics Canaries unterstützt die Angabe von Lambda-Schichten als Abhängigkeiten. Mit diesem Feature können Sie Folgendes tun:

  • Gemeinsamen Code auf mehreren Canarys teilen

  • Abhängigkeiten getrennt von Ihrem Canary-Skriptcode verwalten

  • Die Größe Ihres Canary-Skripts reduzieren, indem Sie Abhängigkeiten auf eine Lambda-Schicht verschieben

Unterstützt APIs

Das Dependencies Feld wird in den folgenden APIs Bereichen unterstützt:

Syntax

Das Dependencies-Feld ist Teil der Codestruktur in der Anforderungssyntax:

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

Verwenden von Abhängigkeiten

Im Folgenden finden Sie einige Beispiele und Anweisungen für die Verwendung des Dependencies-Felds in verschiedenen Szenarien.

Erstellen eines Canary mit Abhängigkeiten

Wenn Sie einen Canary erstellen, können Sie eine Lambda-Schicht als Abhängigkeit angeben:

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

Aktualisieren der Abhängigkeiten eines Canary

Du kannst die Abhängigkeiten eines Canary mithilfe der UpdateCanary API aktualisieren:

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

Entfernen von Abhängigkeiten

Um Abhängigkeiten von einem Canary zu entfernen, geben Sie ein leeres Array für das Feld Abhängigkeiten an:

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

Abhängigkeiten testen mit StartCanaryDryRun

Bevor du einen Canary mit neuen Abhängigkeiten aktualisierst, kannst du sie mit der StartCanaryDryRun API testen:

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

Einschränkungen und Überlegungen

  • Nur eine Lambda-Schicht kann als Abhängigkeit angegeben werden

  • Die Rolle, die verwendet wird, um einen Canary mit Abhängigkeiten zu erstellen, sollte zusätzlich zu den erforderlichen Rollen und Berechtigungen lambda:GetLayerVersion-Zugriff auf die Abhängigkeitsschicht haben

Erstellen von kompatiblen Lambda-Schichten

Informationen zum Erstellen und Bündeln von Schichten finden Sie unter Verwalten von Lambda-Abhängigkeiten mit Schichten. Informationen zur Bündelungsstruktur eines Canary-Checks auf der Grundlage der Canary-Bündelstruktur finden Sie unter Schreiben eines Canary-Skripts.