Без сервера - лямбда-слои "Не удается найти модуль" запрос "" - PullRequest
1 голос
/ 05 апреля 2019

Когда я развертываю свой серверный API, используя:

serverless deploy

Лямбда-слой создается, но когда я запускаю функцию, она выдаёт мне эту ошибку:

"Cannot find module 'request'"

Но еслиЯ загружаю файл .zip вручную через консоль (точно такой же файл, который загружается при развертывании), он отлично работает.

У кого-нибудь есть идеи, почему это происходит?

environment:
SLS_DEBUG: "*"

provider:
name: aws
runtime: nodejs8.10
stage: ${opt:api-type, 'uat'}-${opt:api, 'payment'}
region: ca-central-1
timeout: 30
memorySize: 128
role: ${file(config/prod.env.json):ROLE}
vpc:
    securityGroupIds:
    - ${file(config/prod.env.json):SECURITY_GROUP}
    subnetIds:
    - ${file(config/prod.env.json):SUBNET}
apiGateway:
    apiKeySourceType: HEADER
apiKeys:
    - ${file(config/${opt:api-type, 'uat'}.env.json):${opt:api, "payment"}-APIKEY}

functions:
- '${file(src/handlers/${opt:api, "payment"}.serverless.yml)}'

package:
# individually: true
exclude:
    - node_modules/**
    - nodejs/**

plugins:
- serverless-offline
- serverless-plugin-warmup
- serverless-content-encoding

custom:
contentEncoding:
    minimumCompressionSize: 0 # Minimum body size required for compression in bytes

layers:
nodejs:
    package:
    artifact: nodejs.zip
    compatibleRuntimes:
    - nodejs8.10
    allowedAccounts:
    - "*"

Вот так выглядит мой безсерверный скрипт yaml.

1 Ответ

0 голосов
/ 07 апреля 2019

Вам необходимо установить его вручную в папке serverless.yml

npm install request
...