发生错误:Artisan Lambda 函数 - 解压缩后的大小必须小于 220606645 字节(服务:Lambda,状态代码:4000
An error occured: ArtisanLambdaFunction - Unzipped size must be smaller than 220606645 bytes (Service: Lambda, Status Code: 4000
我试图使用 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。
我可以通过将所有 public 资产添加到排除列表来解决此问题,从而将 zip 文件的大小减少到 43 MB。
解压zip时,解压后的总大小小于220606645字节
那么,
- 上传所有public文件夹文件和文件夹到S3
- 在环境中添加ASSET_URL
- 在我们尝试从 S3 访问文件的地方使用 asset() 函数
我试图使用 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。
我可以通过将所有 public 资产添加到排除列表来解决此问题,从而将 zip 文件的大小减少到 43 MB。
解压zip时,解压后的总大小小于220606645字节
那么,
- 上传所有public文件夹文件和文件夹到S3
- 在环境中添加ASSET_URL
- 在我们尝试从 S3 访问文件的地方使用 asset() 函数