本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 Amazon DocumentDB 弹性集群
这个入门部分将向您介绍如何创建和查询您的第一个弹性集群。
有许多连接和开始使用 Amazon DocumentDB 的方式。以下过程是用户开始使用我们强大文档数据库的最快捷、最简便的方法。本指南使用 Amazon CloudShell 直接从 Amazon Web Services 管理控制台 连接和查询 Amazon DocumentDB 集群。有资格使用 Amazon 免费套餐的新客户可免费使用 Amazon DocumentDB 和 CloudShell。如果您的 Amazon CloudShell 环境或 Amazon DocumentDB 弹性集群使用免费套餐之外的资源,您需要以正常的 Amazon 费率为这些资源付费。本指南将让你在不到 5 分钟内入门 Amazon DocumentDB。
先决条件
在创建第一个 Amazon DocumentDB 集群之前,您必须执行以下操作:
- 已创建 Amazon Web Services(Amazon)账户
-
在开始使用 Amazon DocumentDB 之前,您必须拥有 Amazon Web Services(Amazon)账户。Amazon 账户是免费的。您只需为使用的服务和资源付费。
如果您还没有 Amazon Web Services 账户,请完成以下步骤来创建一个。
注册 Amazon Web Services 账户
按照屏幕上的说明操作。
在注册时,将接到电话或收到短信,要求使用电话键盘输入一个验证码。
当您注册 Amazon Web Services 账户 时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services 服务和资源。作为最佳安全实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
- 设置所需的 Amazon Identity and Access Management(IAM)权限。
-
访问以管理 Amazon DocumentDB 资源(如集群、实例和集群参数组)时需要提供 Amazon可用来验证请求身份的凭证。有关更多信息,请参阅 适用于 Amazon DocumentDB 的 Identity and Access Management。
-
在 Amazon Web Services 管理控制台 的搜索栏中,键入 IAM 并且在下拉菜单中选择 IAM。
-
一旦您处于 IAM 控制台中,就从导航窗格选择用户。
-
选择您的用户名。
-
单击添加更多权限。
-
选择直接附加策略。
-
在搜索栏中键入
AmazonDocDBElasticFullAccess,并且一旦它出现在搜索结果中就选择之。 -
单击下一步。
-
单击添加更多权限。
-
注意
您的 Amazon 账户在每个区域中均包含一个默认 VPC。如果您选择使用 Amazon VPC,请完成《Amazon VPC 用户指南》中的创建 Amazon VPC 主题。
第 1 步:创建弹性集群
在这个部分,我们将解释如何配合以下说明使用 Amazon Web Services 管理控制台 或 Amazon CLI,创建一个全新的弹性集群。
步骤 2:连接到您的弹性集群
使用 Amazon CloudShell 连接到您的 Amazon DocumentDB 弹性集群。
-
在 Amazon DocumentDB 管理控制台上的集群下,找到您创建的弹性集群。单击集群旁边的复选框,选择您的集群。
-
单击连接到集群(位于操作下拉菜单旁边)。只有在您单击集群旁边的复选框并且集群的状态显示为可用后,才会启用此按钮。将出现 CloudShell 运行命令屏幕。
-
在新环境名称字段中,输入唯一名称,例如“test”,然后单击创建并运行。将自动为您的 Amazon DocumentDB 数据库配置 VPC 环境详细信息。
-
出现提示时,输入您在“步骤 1:创建 Amazon DocumentDB 弹性集群”(子步骤 5)中创建的密码。
在您输入密码并且提示符变成
direct: mongos] <env-name>>后,表示您已成功连接到您的 Amazon DocumentDB 集群
注意
有关对 流进行问题排查的更多信息,请参阅 Amazon DocumentDB 问题排查。
步骤 3:对您的集合分片,插入和查询数据
弹性集群增加对 Amazon DocumentDB 中分片过程的支持。既然您已连接到集群,您可以对集群分片、插入数据并运行数个查询。
-
要对集合分片,请输入以下:
sh.shardCollection("db.Employee1" , { "Employeeid" : "hashed" }) -
要插入单个文档,请输入以下内容:
db.Employee1.insertOne({"Employeeid":1, "Name":"Joe", "LastName": "Bruin", "level": 1 })以下输出显示:
WriteResult({ "nInserted" : 1 }) -
要阅读您编写的文档,请输入以下
findOne()命令(它返回单一文档):db.Employee1.findOne()以下输出显示:
{ "_id" : ObjectId("61f344e0594fe1a1685a8151"), "EmployeeID" : 1, "Name" : "Joe", "LastName" : "Bruin", "level" : 1 } -
要执行若干更多查询,请考虑游戏配制文件用例。首先,将几个条目插入标题为“员工”的集合。输入以下信息:
db.profiles.insertMany([ { "_id": 1, "name": "Matt", "status": "active", "level": 12, "score": 202 }, { "_id": 2, "name": "Frank", "status": "inactive", "level": 2, "score": 9 }, { "_id": 3, "name": "Karen", "status": "active", "level": 7, "score": 87 }, { "_id": 4, "name": "Katie", "status": "active", "level": 3, "score": 27 } ])以下输出显示:
{ acknowledged: true, insertedIds: { '0': ObjectId('679d02cd6b5a0581be78bcbd'), '1': ObjectId('679d02cd6b5a0581be78bcbe'), '2': ObjectId('679d02cd6b5a0581be78bcbf'), '3': ObjectId('679d02cd6b5a0581be78bcc0') } } -
要返回配制文件集合中的所有文档,请输入
find() 命令:db.Employee.find()您在步骤 4 中输入的数据显示。
-
要查询单一文档,请纳入过滤器(例如:“Katie”)。输入以下信息:
db.Employee.find({name: "Katie"})以下输出显示:
[ { _id: ObjectId('679d02cd6b5a0581be78bcc0'), Employeeid: 4, name: 'Katie', lastname: 'Schaper', level: 3 } ] -
要查找配置文件并对其进行修改,请输入
findAndModify命令。在此示例中,给予员工“Matt”更高等级,即 “14”:db.Employee.findAndModify({ query: { "Employeeid" : 1, "name" : "Matt"}, update: { "Employeeid" : 1, "name" : "Matt", "lastname" : "Winkle", "level" : 14 } })以下输出显示(请注意,级别尚未更改):
{ _id: ObjectId('679d02cd6b5a0581be78bcbd'), Employeeid: 1, name: 'Matt', lastname: 'Winkle', level: 12 } -
要验证级别提高,请输入以下查询:
db.Employee.find({name: "Matt"})以下输出显示:
[ { _id: ObjectId('679d02cd6b5a0581be78bcbd'), Employeeid: 1, name: 'Matt', lastname: 'Winkle', level: 14 } ]
步骤 4:探索
恭喜您!您已成功完成 Amazon DocumentDB 弹性集群的入门过程。
接下来做什么? 了解如何充分利用这个数据库及其热门功能:
注意
您在此入门过程中创建的弹性集群将继续产生费用,除非您将其删除。有关指导,请参阅删除弹性集群。