This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
要将 Defold Live update 功能与 Amazon 服务一起使用,您需要一个 Amazon Web Services 账户。如果您还没有账户,可以在这里创建:https://aws.amazon.com/。
本节将解释如何在 Amazon Web Services 上创建一个具有有限访问权限的新用户,该用户可以与 Defold 编辑器一起使用,在您打包游戏时自动上传 Live update 资源,以及如何配置 Amazon S3 以允许游戏客户端检索资源。有关如何配置 Amazon S3 的更多信息,请参阅 Amazon S3 文档。
为 Live update 资源创建存储桶
打开 Services
菜单并选择位于 Storage 类别下的 S3
(Amazon S3 Console)。您将看到所有现有的存储桶以及创建新存储桶的选项。虽然可以使用现有的存储桶,但我们建议您为 Live update 资源创建一个新的存储桶,以便您可以轻松限制访问。
为您的存储桶添加存储桶策略
选择您希望使用的存储桶,打开 Properties 面板并展开面板内的 Permissions 选项。通过点击 Add bucket policy 按钮打开存储桶策略。本示例中的存储桶策略将允许匿名用户从存储桶中检索文件,这将允许游戏客户端下载游戏所需的 Live update 资源。有关存储桶策略的更多信息,请参阅 Amazon 文档。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::defold-liveupdate-example/*"
}
]
}
为您的存储桶添加 CORS 配置(可选)
Cross-Origin Resource Sharing (CORS) 是一种允许网站使用 JavaScript 从不同域检索资源的机制。如果您打算将游戏发布为 HTML5 客户端,则需要为存储桶添加 CORS 配置。
选择您希望使用的存储桶,打开 Properties 面板并展开面板内的 Permissions 选项。通过点击 Add CORS Configuration 按钮打开存储桶策略。本示例中的配置将通过指定通配符域允许来自任何网站的访问,尽管如果您知道将在哪些域上提供游戏,可以进一步限制此访问。有关 Amazon CORS 配置的更多信息,请参阅 Amazon 文档。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
创建 IAM 策略
打开 Services 菜单并选择位于 Security, Identity & Compliance 类别下的 IAM(Amazon IAM Console)。选择左侧菜单中的 Policies,您将看到所有现有的策略以及创建新策略的选项。
点击 Create Policy 按钮,然后选择 Create Your Own Policy。本示例中的策略将允许用户列出所有存储桶,这仅在为 Live update 配置 Defold 项目时才需要。它还将允许用户获取访问控制列表(ACL)并将资源上传到用于 Live update 资源的特定存储桶。有关 Amazon Identity and Access Management (IAM) 的更多信息,请参阅 Amazon 文档。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetBucketAcl"
],
"Resource": "arn:aws:s3:::defold-liveupdate-example"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::defold-liveupdate-example/*"
}
]
}
创建用于编程访问的用户
打开 Services 菜单并选择位于 Security, Identity & Compliance 类别下的 IAM(Amazon IAM Console)。选择左侧菜单中的 Users,您将看到所有现有的用户以及添加新用户的选项。虽然可以使用现有用户,但我们建议您为 Live update 资源添加一个新用户,以便您可以轻松限制访问。
点击 Add User 按钮,提供用户名并选择 Programmatic access 作为 Access type,然后按 Next: Permissions。选择 Attach existing policies directly 并选择您在第 4 步中创建的策略。
完成该过程后,您将获得一个 Access key ID 和一个 Secret access key。
存储这些密钥 非常重要,因为离开页面后您将无法从 Amazon 检索它们。
创建凭证配置文件
此时,您应该已经创建了一个存储桶,配置了存储桶策略,添加了 CORS 配置,创建了用户策略并创建了一个新用户。剩下的唯一事情是创建一个凭证配置文件,以便 Defold 编辑器可以代表您访问存储桶。
在您的主文件夹中创建一个新目录 .aws,并在新目录中创建一个名为 credentials 的文件。
$ mkdir ~/.aws
$ touch ~/.aws/credentials
文件 ~/.aws/credentials 将包含您通过编程访问访问 Amazon Web Services 的凭证,是管理 AWS 凭证的标准方式。在文本编辑器中打开文件,并按照下面显示的格式输入您的 Access key ID 和 Secret access key。
[defold-liveupdate-example]
aws_access_key_id = <Access key ID>
aws_secret_access_key = <Secret access key>
在括号内指定的标识符,在本例中为 defold-liveupdate-example,是您在 Defold 编辑器中配置项目的 Live update 设置时应提供的相同标识符。
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB