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