如何在存储桶中为 Canvas LMS 的多个源添加前缀或文件夹
How to add a prefix or folders in a bucket for multiple source for Canvas LMS
我找到了如何将文件从本地存储到 Amazon S3 存储桶
但我还有其他问题。
当我将文件从我的 Canvas LMS 网站上传到 S3 存储桶时,在我的存储桶中文件存储在
s3://Mybucket/account_1/attachemenst/myfile.pdf
但我的存储桶中有三个“文件夹”:
s3://Mybucket/AAA/
s3://Mybucket/BBB/
s3://Mybucket/CCC/
并且我需要配置 yml 文件来告诉每个图像将其文件保存到哪里
www.AAA.com => [save files at ]=> s3://Mybucket/AAA/
www.BBB.com => [save files at ]=> s3://Mybucket/BBB/
以此类推
我用docker做镜像,我该怎么做?我应该将 amazon_s3.yml
中的存储桶名称从
更改为
bucket_name: Mybucket
至
bucket_name: Mybucket/AAA
我试过了,但没有任何反应,只是出错。
更新:
我知道如何在 file_store.yml 中添加它
所以我使用此配置将文件从 CANVAS LMS 保存到 dir-A 目录:
development:
storage: s3
path_prefix: attachments/dir-A/
我需要的是为每个 docker-compose 更改此 path_prefix 以告诉每个组织将文件保存在 aws s3 中的位置
例如:
Organization A => s3://bucket-name/account_1/attachments/dir-A/
Organization B => s3://bucket-name/account_1/attachments/dir-B/
Organization C => s3://bucket-name/account_1/attachments/dir-C/
所以就像我上面说的,我知道如何将文件保存在目录中,但是我通过使用 amazon_s3.yml 和 file_store.yml
构建图像来使用 Dockerfile
现在我只需要为每个组织更改 path_prefix
这可能吗?请问如何?
我找到了解决方案;
所以要在 file_store.yml 中为每个 docker-compose
编辑 path_prefix
我添加这个环境
production:
storage: s3
path_prefix: attachments/<%= ENV['HELLO_VARIABLE'] %>/
在 docker-compose.yml 中,我将 HELLO_VARIABLE 添加到环境中,例如:
app: &app
image: registry/images:1
environment:
- HELLO_VARIABLE=dir-A
当我现在将文件上传到我的 canvas LMS 平台时可以完美运行
文件存储在
https://mybucket.s3.eu-central-1.amazonaws.com/account_1/attachments/dir-A/1/myFile.jpg
我找到了如何将文件从本地存储到 Amazon S3 存储桶 但我还有其他问题。
当我将文件从我的 Canvas LMS 网站上传到 S3 存储桶时,在我的存储桶中文件存储在
s3://Mybucket/account_1/attachemenst/myfile.pdf
但我的存储桶中有三个“文件夹”:
s3://Mybucket/AAA/
s3://Mybucket/BBB/
s3://Mybucket/CCC/
并且我需要配置 yml 文件来告诉每个图像将其文件保存到哪里
www.AAA.com => [save files at ]=> s3://Mybucket/AAA/
www.BBB.com => [save files at ]=> s3://Mybucket/BBB/
以此类推
我用docker做镜像,我该怎么做?我应该将 amazon_s3.yml
中的存储桶名称从
bucket_name: Mybucket
至
bucket_name: Mybucket/AAA
我试过了,但没有任何反应,只是出错。
更新:
我知道如何在 file_store.yml 中添加它 所以我使用此配置将文件从 CANVAS LMS 保存到 dir-A 目录:
development:
storage: s3
path_prefix: attachments/dir-A/
我需要的是为每个 docker-compose 更改此 path_prefix 以告诉每个组织将文件保存在 aws s3 中的位置 例如:
Organization A => s3://bucket-name/account_1/attachments/dir-A/
Organization B => s3://bucket-name/account_1/attachments/dir-B/
Organization C => s3://bucket-name/account_1/attachments/dir-C/
所以就像我上面说的,我知道如何将文件保存在目录中,但是我通过使用 amazon_s3.yml 和 file_store.yml
构建图像来使用 Dockerfile现在我只需要为每个组织更改 path_prefix 这可能吗?请问如何?
我找到了解决方案; 所以要在 file_store.yml 中为每个 docker-compose
编辑 path_prefix我添加这个环境
production:
storage: s3
path_prefix: attachments/<%= ENV['HELLO_VARIABLE'] %>/
在 docker-compose.yml 中,我将 HELLO_VARIABLE 添加到环境中,例如:
app: &app
image: registry/images:1
environment:
- HELLO_VARIABLE=dir-A
当我现在将文件上传到我的 canvas LMS 平台时可以完美运行 文件存储在
https://mybucket.s3.eu-central-1.amazonaws.com/account_1/attachments/dir-A/1/myFile.jpg