laravel - 从 aws lambda 上传到 s3 存储桶后出现内部服务器错误
问题描述
我使用 bref 基于 laravel 框架创建了 aws lambda 函数。链接:https ://bref.sh
我想交朋友 aws S3 和 aws lambda。这是我的代码:
//here I upload file to s3
Storage::disk('s3')->put('images/originals', $request->file('name'));
//My configuration
AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=XXXXX+XXXXXXXX
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=my-bucket
当我在本地上传文件时一切正常,但是当我尝试在 lambda 函数中上传 s3 时出现错误:
{ "message" : "Internal server error" }
我使用这个包上传到 aws:
league/flysystem-aws-s3-v3 ~1.0
这是我的 serverless.yaml
service: demo
provider:
name: aws
region: us-east-1
runtime: provided
environment:
# Laravel environment variables
APP_STORAGE: '/tmp'
iamRoleStatements:
# Allow to put a file in the `my-bucket` S3 bucket
- Effect: Allow
Action: s3:PutObject
Resource: 'arn:aws:s3:::my-bucket/*'
plugins:
- ./vendor/bref/bref
functions:
website:
handler: public/index.php
timeout: 28 # in seconds (API Gateway has a timeout of 29 seconds)
layers:
- ${bref:layer.php-73-fpm}
events:
- http: 'ANY /test/'
- http: 'ANY /test/{proxy+}'
artisan:
handler: artisan
timeout: 120 # in seconds
layers:
- ${bref:layer.php-73} # PHP
- ${bref:layer.console} # The "console" layer
也许我的权限有问题。但我不知道如何解决它。
亚马逊 X 光片的反应
谢谢
解决方案
推荐阅读
- c# - 如何为 MVC Razor .NET Core 请求实现 HTML 加载器?
- c# - WPF中的嵌套对象列表数据绑定
- javascript - 将异步与 NodeJs MySQL 驱动程序一起使用
- wordpress - Domain name redirecting to IP address on AWS
- javascript - 无法从 Angular 7 组件中的外部 jQuery 文件访问方法
- spring-boot - Spring Boot - JavaFX 应用程序不可能实现 SmartLifeCycle?
- php - 控制电子邮件登录
- ios - Ionic 4 构建不适用于 ios 10.3
- r - 如何将等值面剪辑到球上?
- javascript - sweetalert2:如何在重定向时有加载器动画