我试图使用 Bref 将我的 Laravel 应用程序部署到 AWS Lambda。我试图排除几乎所有的图像、视频,但我仍然得到
Serverless Error ----------------------------------------
An error occurred: ArtisanLambdaFunction - Resource handler returned message: "Unzipped size must be smaller than 235311048 bytes (Service: Lambda, Status Code: 400 ...
我的 serverless.yml 文件是
service: my-laravel-application
provider:
name: aws
# The AWS region in which to deploy (us-east-1 is the default)
region: eu-west-1
# The stage of the application, e.g. dev, production, staging… ('dev' is the default)
stage: dev
runtime: provided.al2
package:
individually: true
# Directories to exclude from deployment
exclude:
- node_modules/**
- public/storage/**
- resources/assets/**
- storage/**
- tests/**
- public/images/**
- public/uploads/**
- public/videos/**
functions:
# This function runs the Laravel website/API
web:
handler: public/index.php
timeout: 28 # in seconds (API Gateway has a timeout of 29 seconds)
layers:
- ${bref:layer.php-74-fpm}
events:
- httpApi: '*'
# This function lets us run artisan commands in Lambda
artisan:
handler: artisan
timeout: 120 # in seconds
layers:
- ${bref:layer.php-74} # PHP
- ${bref:layer.console} # The "console" layer
plugins:
# We need to include the Bref plugin
- ./vendor/bref/bref
我试图从 zip 中排除几乎所有资产。不过,我得到了同样的错误。压缩时,我的应用程序的总大小仅为 119.4 MB。