AWS 对接 MPS

最近更新时间:2024-07-29 11:25:31

我的收藏

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

5.1.1. 进入 Identity and Access Management (IAM)界面单击 Policies,再单击 create policy



5.1.2. 选择 json 模式,根据您所选择的回调方式选择对应的 policy 配置,并将 sqs 的 arn 和 s3 bucket 的 arn 填入 json 中单击两次 next。
回调方式为 Amazon SQS callback 时的 policy 配置
回调方式为 HTTP callback 时的 policy 配置





{
"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/*。
5.1.3. 输入 policy name 后单击 Create policy 完成创建。




5.2 创建用户

5.2.1. 进入 Identity and Access Management (IAM) 界面单击 User,再单击 Add users 添加用户。



5.2.2. 输入用户名,单击右下角 Next



单击 Attach existing policies directly 选项,在搜索栏中填入刚才创建的 policy name 搜索到 policy 并勾选上。
单击 Next > Create user 即可完成用户创建。
5.2.3. 创建完用户后,单击用户名。



5.2.4. 单击 Security credentials > Access keys > Create access key。



5.2.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。