我的 Flask 应用程序作为服务运行,但它无法从 s3bucket 安装的文件夹中读取视频文件。 OpenCV 加载失败时不会抛出错误,而是返回 0 帧数组。所以我们知道它无法从 s3 存储桶路径读取。
服务档案
[Unit]
Description=service
After=network.target
[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/src/my-service
Environment=PATH=/home/ubuntu/src/my-service/venv/bin
ExecStart=/home/ubuntu/src/my-service/venv/bin/uwsgi --ini my-service.ini
[Install]
WantedBy=multi-user.target
s3 Bucket 视频如下
/home/ubuntu/src/s3Bucket/video
如果我创建新的 python 文件并手动运行它,我可以从 s3Bucket/video 读取,但无法从服务应用程序读取。此外,服务可以读取以下文件
/home/ubuntu/src
但服务无法读取下面的文件
/home/ubuntu/src/s3Bucket/video
尝试了不同的服务文件选项,但无法弄清楚。
谢谢。
答案1
只需从 systemd 文件中删除 group=www-data 即可。这都是关于权限的。