如何创建DigitalOcean空间和API密钥

来自菜鸟教程
跳转至:导航、​搜索

介绍

DigitalOcean Spaces 是一种对象存储服务,可以轻松且经济高效地存储和提供大量数据。 无需配置即可快速创建和使用各个空间。

在本教程中,我们将使用 DigitalOcean 控制面板创建一个新空间。 然后,我们将检索一个 API 密钥和机密,可用于授予对任何 S3 兼容客户端或库中的空间的访问权限。

先决条件

要完成本教程,您需要一个 DigitalOcean 帐户。 如果您还没有,您可以在注册页面上注册一个。

登录到 DigitalOcean 控制面板开始。

创建空间

要创建新空间,请使用控制面板右上角的 Create 按钮。 单击按钮,然后从下拉列表中选择 Spaces

如果您以前从未创建过空间,您也可以直接从 Spaces 页面创建一个。 为此,请在控制面板的主导航中单击 Spaces,然后单击 创建空间。 任一选项都将带您进入 创建空间 屏幕:

首先,为您的空间选择一个名称。 此名称在所有 Spaces 中必须是唯一的(即,任何区域内其他 Spaces 用户都不能有相同的名称),长度必须为 3-63 个字符,并且只能包含小写字母、数字和破折号。

接下来,选择您希望 Space 所在的数据中心区域。 在捕获此屏幕截图时,nyc3ams3 是可能的选择。 随着时间的推移,将会有更多可用。

最后,选择您是否希望未经身份验证的用户能够列出您空间中的所有文件。 这不会影响对单个文件的访问(基于每个文件设置),只影响获取所有文件列表的能力。 Private 的默认选择是安全的,除非您有一些脚本或客户端需要在没有访问密钥的情况下获取文件列表。

当您的名称和选项都设置好后,向下滚动并单击 创建空间 按钮。 您的空间将被创建,您将被带到文件浏览器界面:

如果这是您的第一个 Space,您将拥有一个 welcome.html 文件,否则 Space 将为空。

记下您的空间的 URL。 它位于文件浏览器视图中的空间名称下方。 在本示例中,完整 URL 为 https://example-name.nyc3.digitaloceanspaces.com。 这里的空间名称(通常称为存储桶名称)为 example-name。 服务器 URL(或地址)是剩余部分,由数据中心名称和 .digitaloceanspaces.com: https://nyc3.digitaloceanspaces.com 组成。

客户和图书馆会通过几种不同的方式询问这些信息。 有些人会希望它采用与控制面板中相同的格式。 有些要求存储桶名称跟在服务器 URL 后面,例如 https://nyc3.digitaloceanspaces.com/example-name。 还有一些会要求您分别输入服务器地址和存储桶或空间名称。 请参阅您的客户或图书馆的文档以获取更多指导。

接下来,我们将创建从第三方客户端访问我们的空间所需的密钥。

创建访问密钥

要从 DigitalOcean 控制面板外部访问我们的文件,我们需要生成一个 访问密钥secret。 这是一对随机令牌,用作用户名和密码以授予对您空间的访问权限。

首先,单击控制面板主导航中的 API 链接。 结果页面列出了您的 DigitalOcean API 令牌和 Spaces 访问密钥。 向下滚动到 Spaces 部分:

如果这是您的第一个 Space,您可能没有列出任何键。 单击生成新密钥按钮。 New Spaces key对话框会弹出:

输入密钥的名称。 您可以创建任意数量的密钥,因此请记住,撤销密钥访问权限的唯一方法是删除它。 因此,您可能希望按个人、团队或您使用它们的客户端软件对密钥进行分区。

在这种情况下,我们正在创建一个名为 example-token 的密钥。 单击生成密钥按钮完成该过程。 您将返回到列出所有密钥的 API 屏幕。 请注意,新密钥显示了两个长标记:

第一个是我们的访问密钥。 这不是秘密,将继续在控制面板中可见。 第二个字符串是你的 secretsecret key。 这只会显示一次。 将其记录在安全的地方以备后用。 下次访问 API 页面时,该值将消失,并且无法检索。

不同的 S3 兼容客户端可能对 访问密钥secret 有细微的不同名称。 使用的术语通常足够接近以明确哪个令牌应该放在哪里。 如果没有,请参阅您的客户或图书馆的文档以获取更多信息。

结论

在本教程中,我们创建了一个新的 DigitalOcean Space 和一个新的访问密钥和密码。 我们现在知道我们的 服务器 URL存储桶名称(或空间名称)、 访问密钥secret。 有了这些信息,您可以将大多数与 S3 兼容的客户端或库连接到您的新 DigitalOcean Space!