View a markdown version of this page

Uso das dependências com os canários do CloudWatch Synthetics - Amazon CloudWatch

Uso das dependências com os canários do CloudWatch Synthetics

Esta seção explica como usar as Dependencies nos canários do CloudWatch Synthetics. O campo Dependencies permite especificar dependências para seus canários, possibilitando a inclusão de bibliotecas adicionais ou código personalizado que seus scripts de canário possam utilizar.

Visão geral

Os canários do CloudWatch Synthetics são compatíveis com a especificação de camadas do Lambda como dependências. Com este recurso, você pode:

  • Compartilhar código comum entre vários canários

  • Gerenciar dependências de forma independente do código do script do seu canário

  • Reduzir o tamanho do script do seu canário ao transferir as dependências para uma camada do Lambda

APIs compatíveis

O campo Dependencies é compatível com as seguintes APIs:

Sintaxe

O campo Dependencies faz parte da estrutura do código na sintaxe da solicitação:

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

Uso de dependências

A seguir, apresentamos alguns exemplos e instruções para o uso do campo Dependencies em diferentes cenários.

Criação de um canário com dependências

Ao criar um canário, é possível especificar uma camada do Lambda como uma dependência:

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

Atualização das dependências de um canário

É possível atualizar as dependências de um canário usando a API UpdateCanary:

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

Remoção de dependências

Para remover as dependências de um canário, forneça uma matriz vazia para o campo Dependências:

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

Teste de dependências com StartCanaryDryRun

Antes de atualizar um canário com novas dependências, você pode testá-las usando a API StartCanaryDryRun:

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

Limitações e considerações

  • Somente uma camada do Lambda pode ser especificada como uma dependência.

  • O perfil usado para a criação de um canário com dependências deve ter acesso à API lambda:GetLayerVersion para a camada de dependência, além dos perfis e das permissões necessários.

Criação de camadas do Lambda compatíveis

Para obter informações sobre como criar e empacotar camadas, consulte Gerenciar dependências do Lambda com camadas e para compreender a estrutura de empacotamento de uma verificação de canário com base na estrutura de empacotamento do canário, consulte Escrever um script do canário.