Por que meu canário do CloudWatch está falhando com o erro “Não é possível encontrar o módulo '/opt/nodejs/node_modules/myfunction”?

2 minuto de leitura
0

Por que meu canário do Amazon CloudWatch está falhando com o erro “Não é possível encontrar o módulo '/opt/nodejs/node_modules/myfunction”?

Resolução

Se você não usar a estrutura exigida pelo CloudWatch ao criar um arquivo.zip de sua função e dependências, então você receberá um erro. A mensagem de erro diz: Não é possível encontrar o módulo '/opt/nodejs/node_modules/myfunction.

Você deve criar seu arquivo.zip no caminho de arquivo nodejs/node_modules (como nodejs/node_modules/myCanaryFilename.js). Para criar seu arquivo.zip no caminho de arquivo correto, faça o seguinte:

1.    Crie a estrutura necessária.

mkdir -p /nodejs/node_modules/

2.    Copie sua função de canário do CloudWatch para /nodejs/node_modules/.
Observação: a convenção de nomenclatura do manipulador é filename.handler.

cp CanaryFunction.js /nodejs/node_modules/
cp -R /lib /nodejs/node_modules/

3.    Compacte seu diretório na parte superior de /nodejs.

zip -r Canary.zip ./nodejs/*

Observação: ao criar um canário do Synthetics do zero, se você tiver vários arquivos.js ou dependências de script, agrupe todos os arquivos em um único arquivo.zip. Use a seguinte estrutura de pastas: “nodejs/node_modules”. Por exemplo, o arquivo nodejs/node_modules/myCanaryFilename.js e outras pastas e arquivos.


Informações relacionadas

Como empacotar seus arquivos de canário

AWS OFICIAL
AWS OFICIALAtualizada há um ano