【问题标题】:serverless deploy lambda@edge with specific dependency无服务器部署具有特定依赖关系的 lambda@edge
【发布时间】:2020-10-10 04:51:22
【问题描述】:

我想部署将图像从 CloudFront 转换为 WebP 的功能,如 here 所述

但我想使用serverless 框架,我创建了以下serverless.yml 和我的handler.js

service: viewer-image-request

plugins:
  - serverless-plugin-include-dependencies

provider:
  name: aws
  runtime: nodejs12.x
  region: us-east-1

resources:
  Resources:
    LambdaAtEdgeRole:
      Type: AWS::IAM::Role
      Properties:
        RoleName: lambda-at-edge
        AssumeRolePolicyDocument:
          Version: '2012-10-17'
          Statement:
            - Effect: Allow
              Principal:
                Service:
                  - lambda.amazonaws.com
                  - edgelambda.amazonaws.com
              Action: sts:AssumeRole
        ManagedPolicyArns:
          - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

functions:
  viewer-request:
    handler: handler.handler
    role: LambdaAtEdgeRole

package:
  exclude:
    - node_modules/**
  include:
    - node_modules/path
    - node_modules/useragent

当我部署它时,它会将lru-cacheos-tempdirpseudomaptmpuseragentyallist 上传到 node_modules。代码只需要useragentpath,但path 不会上传。

函数部署后大小为91kB

当我尝试部署 Lambda@Edge 时,我会收到这条消息

我在这里缺少什么?

【问题讨论】:

    标签: aws-lambda serverless-framework serverless aws-serverless aws-lambda-edge


    【解决方案1】:

    看来the default values for serverless.yml 是:

    provider:
      memorySize: 1024
      timeout: 6
    

    根据错误信息,这些是您需要使用的值:

    provider:
      memorySize: 128
      timeout: 5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-27
      • 2020-10-17
      • 2018-07-17
      • 2020-09-06
      相关资源
      最近更新 更多