本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 Amazon DocumentDB 弹性集群
这个入门部分将向您介绍如何创建和查询您的第一个弹性集群。
有许多连接和开始使用 Amazon DocumentDB 的方式。以下过程是用户开始使用我们强大文档数据库的最快捷、最简便的方法。本指南使用 AWS CloudShell 直接从 AWS 管理控制台 连接和查询 Amazon DocumentDB 集群。有资格使用 AWS 免费套餐的新客户可免费使用 Amazon DocumentDB 和 CloudShell。如果您的 AWS CloudShell 环境或 Amazon DocumentDB 弹性集群使用免费套餐之外的资源,您需要以正常的 AWS 费率为这些资源付费。本指南将让你在不到 5 分钟内入门 Amazon DocumentDB。
先决条件
在创建第一个 Amazon DocumentDB 集群之前,您必须执行以下操作:
- 已创建 Amazon Web Services(AWS)账户
-
在开始使用 Amazon DocumentDB 之前,您必须拥有 Amazon Web Services(AWS)账户。AWS 账户是免费的。您只需为使用的服务和资源付费。
如果您还没有 AWS 账户,请完成以下步骤来创建一个。
注册 AWS 账户
打开 https://portal.aws.amazon.com/billing/signup
。 按照屏幕上的说明操作。
在注册时,将接到电话或收到短信,要求使用电话键盘输入一个验证码。
当您注册 AWS 账户 时,系统将会创建一个 AWS 账户根用户。根用户有权访问该账户中的所有 AWS 服务和资源。作为最佳安全实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
- 设置所需的 AWS Identity and Access Management(IAM)权限。
-
访问以管理 Amazon DocumentDB 资源(如集群、实例和集群参数组)时需要提供 AWS可用来验证请求身份的凭证。有关更多信息,请参阅 适用于 Amazon DocumentDB 的 Identity and Access Management。
-
在 AWS 管理控制台 的搜索栏中,键入 IAM 并且在下拉菜单中选择 IAM。
-
一旦您处于 IAM 控制台中,就从导航窗格选择用户。
-
选择您的用户名。
-
单击添加更多权限。
-
选择直接附加策略。
-
在搜索栏中键入
AmazonDocDBElasticFullAccess,并且一旦它出现在搜索结果中就选择之。 -
单击下一步。
-
单击添加更多权限。
-
注意
您的 AWS 账户在每个区域中均包含一个默认 VPC。如果您选择使用 Amazon VPC,请完成《Amazon VPC 用户指南》中的创建 Amazon VPC 主题。
第 1 步:创建弹性集群
在这个部分,我们将解释如何配合以下说明使用 AWS 管理控制台 或 AWS CLI,创建一个全新的弹性集群。
步骤 2:连接到您的弹性集群
使用 AWS 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 弹性集群的入门过程。
接下来做什么? 了解如何充分利用这个数据库及其热门功能:
注意
您在此入门过程中创建的弹性集群将继续产生费用,除非您将其删除。有关指导,请参阅删除弹性集群。