aws-lambda - 具有特定依赖项的无服务器部署 lambda@edge

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

我想部署将图像从 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

enter image description here

当我尝试部署 Lambda@Edge 时,我门控此消息

enter image description here

我在这里缺少什么?

最佳答案

看起来 the default values for serverless.yml是:

provider:
  memorySize: 1024
  timeout: 6

根据错误消息,您需要使用以下值:

provider:
  memorySize: 128
  timeout: 5

关于aws-lambda - 具有特定依赖项的无服务器部署 lambda@edge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62478642/

相关文章:

java - 从 Java Web 应用程序访问 AWS Lambda 函数是通过 Https 或 Http 完成的

node.js - 是否可以通过 AWS API Gateway 和 lambda 函数将 PDF 文件上传到 S3 存储桶?

amazon-web-services - 无服务器/AWS Lambda - 为已发布的 lambda 版本创建触发器

asp.net-core - Azure SignalR Serverless OnConnected-trigger with Azure-functions(传统模型)

amazon-s3 - 尝试运行 aws cli 时 S3 访问被拒绝

amazon-web-services - 如何在AWS CDK中设置开发阶段和生产阶段

python - 无服务器并将图像从 Lambda 端点上传到 S3

amazon-web-services - 使用无服务器框架时如何从 AWS Lambda 访问 DynamoDB?

node.js - 在无服务器中创建 Lambda 权限

amazon-web-services - “GetObject 时发生错误。S3 错误代码 : PermanentRedirect. S3 错误消息:存储桶位于此区域:us-east-1