github地址:https://github.com/edx/edx-platform/wiki/Developing-on-the-edX-Developer-Stack
Amazon Web Service (AWS)
To use the Video Upload feature in devstack, you'll need an AWS account.Login to AWS, and locate the S3 storage service.
Create a bucket. Note the bucket name for configuration below.
Under the bucket's Properties > Permissions, add this CORS configuration:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://localhost:8001</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Note: <AllowedOrigin>*</AllowedOrigin> doesn't work for most browsers, so you'll need to add an <AllowedOrigin> block for each URL you'll be using to POST to the S3 service.
Locate the AWS IAM security service.
Add a new User, and Create Access Key. Note the key and secret for configuration below.
Add a new Group, with (at least) the AmazonS3FullAccess policy attached.
Add your IAM user to the Group.
Configure
Change these settings in /edx/app/edxapp/cms.envs.json"FEATURES": {
...
"ENABLE_VIDEO_UPLOAD_PIPELINE": true,
...
},
and
...
VIDEO_UPLOAD_PIPELINE = {
"BUCKET": "<S3 bucket name>",
"ROOT_PATH": "<bucket subfolder (optional)>"
},
...
Change these settings in /edx/app/edxapp/cms.auth.json
...
"AWS_ACCESS_KEY_ID": "<IAM user key>",
"AWS_SECRET_ACCESS_KEY": "<IAM user secret>",
...
You should now be able to see the Content > Video Upload option in your devstack CMS, and see the uploaded videos in your S3 bucket.