1. 创建 S3 输入/输出的 bucket
1.1 单击 Create bucket。
?
?
?1.2 输入 bucket name 并选择资源所属地区。
填入bucket name,并选择 bucket 所属的 region,此处以 singapore 为例。
?
?
?1.3 单击 Create bucket 完成创建。
1.4 (可选)重复上述步骤创建一个用于放置转码输出的 bucket。
说明:
可以创建个新的 Bucket,也可以将转码文件放到输入桶的新目录。
?
?
?2. 创建接收S3通知的SQS
1.1 选择 SQS 资源所在 region。
选择资源 region 为 singapore(ap-southeast-1)
?
?
?注意:
此处选择的资源 region 需要和上面 bucket 所在 region 一致,不然 bucket 无法绑定 sqs。
1.2 输入队列名称。
?
?
?1.3 关闭队列加密。
?
?
?1.4 修改访问策略
选择 Advanced,在下面文本中填写 SQS(队列)的 ARN,S3 的 ARN 以及 Account ID 后,将文本粘贴到访问策略即可(SQS ARN、S3 ARN 以及 Account ID 可以参考补充获取)。
?{"Version": "2012-10-17","Id": "__default_policy_ID","Statement": [{"Sid": "__owner_statement","Effect": "Allow","Principal": {"Service": "s3.amazonaws.com"},"Action": ["SQS:SendMessage"],"Resource": "队列的ARN","Condition": {"ArnLike": {"aws:SourceArn": "S3的ARN"},"StringEquals": {"aws:SourceAccount": "Account ID"}}}]}
1.5 点击“创建队列”完成队列创建。
3. 创建接收转码信息回调的 SQS
说明:
仅 Amazon SQS callback 时需要创建。
1.1 选择 SQS 资源所在 region。
选择资源 region 为 singapore。
?
?
?注意:
此处选择的资源 region 建议和上面 bucket 所在 region 一致。
1.2 输入队列名称。
?
?
?1.3 关闭队列加密。
?
?
?1.4 点击“创建队列”完成队列创建。
4. 绑定 S3 输入的 bucket 和接收通知的 SQS
1.1 找到已创建的输入 bucket。
回到 S3 页面中并找到刚才创建的 bucket 单击名称进入。
?
?
?1.2 将输入 bucket 绑定 sqs。
1.2.1 进入 bucket 后选择 properties。
?
?
?1.2.2 向下滑动页面到 Event notifications,单击 create event notification 创建事件通知。
?
?
?1.2.3 创建事件,填入事件名称。
?
?
?1.2.4 勾选 Event types 中 “All object create events”。
?
?
?1.2.5 选择 destination 为 “sqs queue”,并在下方选择您刚才创建的接收 S3 通知的 SQS,选择好后单击保存。
?
?
?1.2.6 此时可以看一下 sqs queue 是否有绑定事件通知,有则说明绑定成功,即 Messages available 的值由0变为1。
?
?
?5. 创建子用户并授予操作权限
5.1 创建 policy
1.1.1 进入 Identity and Access Management (IAM)界面单击 Policies,再单击 create policy。
?
?
?1.1.2 选择 json 模式,根据您所选择的回调方式选择对应的 policy 配置,并将 sqs 的 arn 和 s3 bucket 的 arn 填入 json 中单击两次 next。
?
?
???{"Version": "2012-10-17","Statement": [{"Sid": "VisualEditor0","Effect": "Allow","Action": ["sqs:DeleteMessage","s3:GetObject","sqs:GetQueueUrl","sqs:ReceiveMessage","s3:GetObjectAttributes","sqs:GetQueueAttributes","sqs:ListQueueTags"],"Resource": ["sqs监听s3的queue的arn","s3输入bucket的arn + /*"]},{"Sid": "VisualEditor1","Effect": "Allow","Action": ["s3:PutObject","sqs:GetQueueUrl","sqs:SendMessage"],"Resource": ["转码信息回调的sqs queue的arn","s3输出bucket的arn + /*"]}]}
?
?
???{"Version": "2012-10-17","Statement": [{"Sid": "VisualEditor0","Effect": "Allow","Action": ["sqs:DeleteMessage","s3:GetObject","sqs:GetQueueUrl","sqs:ReceiveMessage","s3:GetObjectAttributes","sqs:GetQueueAttributes","sqs:ListQueueTags"],"Resource": ["sqs监听s3的queue的arn","s3输入bucket的arn + /*"]},{"Sid": "VisualEditor1","Effect": "Allow","Action": ["s3:PutObject"],"Resource": ["s3输出bucket的arn + /*"]}]}
注意:
json 中 Resource 中的 s3 bucket 的 arn 需要连接上/*填入,例如 s3 bucket 的 arn 为 arn:aws:s3:::tencentbucket,则填入的应为 arn:aws:s3:::tencentbucket/*。
1.1.3 输入 policy name 后单击 create policy 完成创建。
?
?
?5.2 创建用户
1.1.1 进入 Identity and Access Management (IAM)界面单击 User,再单击 Add users 添加用户。
?
?
?1.1.2 输入用户名,单击右下角 next。
?
?
?单击 Attach existing policies directly 选项,在搜索栏中填入刚才创建的 policy name 搜索到 policy 并勾选上。
单击 next > create user 即可完成用户创建。
1.1.3 创建完用户后,单击用户名。
?
?
??
1.1.4 单击 Security credentials > Access keys > Create access key。
?
?
?1.1.5 选择 Other,单击 Next 创建,保存好 Access key ID 和 Secret access key。
?
?
?补充
Account ID:在页面由上级可以看到。
?
?
?S3 ARN:进入 bucket 页面单击 properties 即可看见。
?
?
?SQS ARN:创建 SQS 页面,单击 Access policy > Advanced > Resource。
?
?
?腾讯云官网中填写 region 查找:进入 S3 页面 找到您创建的 aws s3 资源,其 AWS Region 中的后半部分即为填写的 region(注意移除空格),如下图所示tencentbucket 的 region 为 ap-southeast-1。
?
?
??
?