使用 Amazon DocumentDB 存储文档

简介

在本课程中,您已经构建了一个餐厅评级应用程序。您使用 Amazon DynamoDB 构建了核心的餐厅评级服务。用户可通过该服务对餐厅进行评论。然后,您使用 Amazon ElastiCache 为关键工作流添加了缓存功能,从而加快了应用程序的响应速度。您还使用 Amazon Neptune 添加了欺诈检测功能(通过分析评论来检测机器人流量)。

在本课(即第四课)中,您将为餐厅添加营销页面。餐厅可以自定义其网页的外观,这有助于宣传其菜品。餐厅还可以展示其菜单、推广正面评论和发布照片。若要处理此应用程序,您将使用 Amazon DocumentDB(与 MongoDB 兼容)

您将通过本课学习如何在应用程序中使用全托管的文档数据库。首先,您将了解为什么需要使用诸如 Amazon DocumentDB 之类的文档数据库。然后,您将逐步完成以下操作步骤:创建 Amazon DocumentDB 数据库、设计数据模型、在应用程序中使用该数据库。在本课结束时,您应当能够在应用程序中自如使用 Amazon DocumentDB。有关 Amazon DocumentDB 的更多信息,请参见 Amazon DocumentDB 开发者指南

完成时间:30–45 分钟

专用数据库 - DocumentDB (24:04)
为什么使用 Amazon DocumentDB?

Amazon DocumentDB AWS 提供的全托管文档数据库。文档数据库是一种 NoSQL 数据库,您可以使用文档数据库在应用程序中存储和查询丰富的文档。文档数据库适用于以下使用场景:

  • 内容管理系统:当存储用于显示丰富内容页面的数据时,通常会存在异构数据。异构数据可能包括内容、图像和客户评论。将异构数据存储在刚性关系数据库中可能会降低灵活性。通过使用文档数据库,您可以实现快速移动并为用户提供良好的体验。
  • 配置文件管理:在应用程序中存储用户配置文件时,您和您的用户可能需要存储大量的设置、偏好和其他数据。您可以使用文档数据库(如 Amazon DocumentDB)将这些数据存储在一起,同时保持对数据的快速访问。
  • Web 和移动应用程序:现代 Web 和移动应用程序需要满足大规模快速数据访问的需求。全球应用程序的兴起意味着您可以在一天中的任何时间点每秒服务数百万用户。Amazon DocumentDB 提供高性能和易扩展性,因而能够处理大容量应用程序。

您可以使用 Amazon DocumentDB 获得全托管文档数据库体验。也就是说,您不必关注实例故障转移、数据库备份和恢复或软件升级。而是专注于构建应用程序并为客户提供创新解决方案。

最后,Amazon DocumentDB 与 MongoDB API 兼容。这意味着您可以使用热门开源库与 Amazon DocumentDB 进行交互,也可以将现有数据库轻松迁移到 Amazon DocumentDB。

课程内容

在本课中,您将学习如何使用 Amazon DocumentDB 存储数据,进而构建服务。本课分为五个步骤。

  • 在本模块中,您将创建和准备 AWS Cloud9 环境。AWS Cloud9 是基于云的集成开发环境 (IDE)。可以为您快速搭建一致的开发环境,让您在其中快速构建 AWS 应用程序。


    首先,请前往 AWS Cloud9 控制台。点击 Create environmen(创建环境)启动 AWS Cloud9 环境创建向导。

    (点击放大)

    在向导的第一页,为您的环境命名和提供描述。然后点击 Next step(下一步)。

    (点击放大)

    在下一步中,您可以配置环境设置(如环境中的实例类型、平台和网络设置)。

    在本课中保留默认设置,因此滚动到底部并点击 Next step(下一步)。

    (点击放大)

    最后一步显示您的设置以供审查。滚动到底部并点击 Create environment(创建环境)。

    (点击放大)

    配置 AWS Cloud9 环境应当需要几分钟时间。如果系统正在创建环境,则会显示以下屏幕。

    (点击放大)

    几分钟后,您应当会看到 AWS Cloud9 环境。如以下屏幕截图所示,AWS Cloud9 控制台有三个区域需要了解:

    • 文件资源管理器:文件资源管理器位于 IDE 的左侧区域,会显示您目录中的文件列表。
    • 文件编辑器:文件编辑器位于 IDE 的右上区域,您可以在其中查看和编辑在文件资源管理器中选择的文件。
    • 终端:终端位于 IDE 的右下区域,您可以在其中运行用来执行代码示例的命令。
    (点击放大)

    在本课中,您将使用 Python 与 Amazon DocumentDB 数据库进行交互。在 AWS Cloud9 终端运行以下命令来下载并解压缩模块代码。

    cd ~/environment
    curl -sL https://s3.amazonaws.com/aws-data-labs/document-cms.tar | tar -xv

    在 AWS Cloud9 终端运行以下命令来查看您的目录内容。

    ls

    在 AWS Cloud9 终端,您应当会看到两个目录:

    • scripts/:scripts 目录包含配置和准备您的数据库所需的文件。使用这些脚本测试数据库连接并将示例数据加载到数据库中。
    • application/:application 目录包含与应用程序中的文件相似的文件。这些文件会展示如何查询文档数据库以满足数据访问模式。

    在终端运行以下命令来安装应用程序的依赖项。

    sudo pip install -r requirements.txt


    在本模块中,您配置了一个用于开发的 AWS Cloud9 实例。在下一个模块中,您将创建一个 Amazon DocumentDB 数据库。

  • 在本模块中,您将创建一个 Amazon DocumentDB 数据库。此数据库用于为您应用程序中的餐厅营销页面提供支持。


    首先,前往 Amazon DocumentDB 控制台。点击 Create(创建)启动数据库创建向导。

    (点击放大)

    在 Configuration(配置)部分中,为您的 Amazon DocumentDB 数据库设置一个要作为其 Cluster identifier(集群标识符)的名称。由于这是演练示例,您可以将 Number of instances(实例数)设置为 1。但在生产设置中,您可能想要使用更多实例。

    (点击放大)

     Authentication(身份验证)部分中,为您的数据库设置 Master username(主用户名)和 Master password(主密码)。由于您后续需要这些信息来连接您的数据库,因此请务必做好记录。

    然后开启 Show advanced settings(显示高级设置)旁边的开关以查看更多配置设置。

    (点击放大)

    在 Network settings(网络设置)中,您可以为 Amazon DocumentDB 数据库选择 VPC 和安全组。删除默认安全组选项,然后选择您为 AWS Cloud9 环境创建的安全组。

    (点击放大)

    其余的大多数默认设置都适用于本演练。

    滚动到该向导底部的 Deletion protection(删除保护)部分。取消选中的 Enable deletion protection(启用删除保护)复选框以禁用此功能。这样更便于您在完成本课后删除 Amazon DocumentDB 数据库。但在生产环境中,您应当开启删除保护。

    点击 Create cluster(创建集群)创建您的 Amazon DocumentDB 数据库。

    (点击放大)

    您可以配置标签或更新其他配置选项,但在本教程中保留默认值即可。

    点击 Create database(创建数据库)创建您的 Amazon DocumentDB 数据库。

    (点击放大)

    AWS 开始配置您的 Amazon DocumentDB 数据库。如果系统正在配置数据库,该数据库的 Status(状态)会显示为 creating(创建中)。

    当该数据库准备就绪,其 Status(状态)会显示为 available(可用)。

    (点击放大)
    (点击放大)

    接着,您需要配置安全组,用于允许 AWS Cloud9 环境访问 Amazon DocumentDB 数据库。

    前往 Amazon EC2 控制台上的 Security Groups(安全组)页面。您应当会看到为 AWS Cloud9 环境创建的安全组。选择 Security group ID(安全组 ID)可查看安全组详细信息。

    (点击放大)

    您应当会看到有关您安全组的详细信息(包括其入站网络规则)。点击 Edit inbound rules(编辑入站规则)编辑相关规则。

    (点击放大)

    您应当会在安全组中看到现有的入站规则,这些规则允许通过 SSH 访问 AWS Cloud9 环境。

    点击 Add rule(添加规则)可添加其他规则。在 Type(类型)下拉菜单中,选择 Custom TCP(自定义 TCP)。在 Port range(端口范围)字段中输入 27017。然后在 Source(源)字段中选择您的 AWS Cloud9 安全组。

    点击 Save rules(保存规则)保存您的安全组规则。

    (点击放大)

    您已配置从 AWS Cloud9 环境对 Amazon DocumentDB 数据库进行访问的权限。现在,为确保相关配置正确,请测试与数据库的连接情况。

    首先,前往 Amazon DocumentDB 控制台。查找您创建的 Amazon DocumentDB 数据库并选择其 Cluster identifier(集群标识符)。

    (点击放大)

    您应当会看到有关该 Amazon DocumentDB 数据库的详细信息。选择 Configuration(配置)页签,然后找到 Cluster endpoint(集群端点)。复制此值。

    (点击放大)

    在 AWS Cloud9 终端运行以下命令,用于在 AWS Cloud9 环境中设置 Amazon DocumentDB 配置信息。

    export DOCUMENTDB_ENDPOINT=<yourClusterEndpoint>
    export DOCUMENTDB_USER=<yourUsername>
    export DOCUMENTDB_PASSWORD=<yourPassword>

    请确保将 <yourClusterEndpoint><yourUsername>  <yourPassword> 设置为您的值。

    然后在终端运行以下命令,用于下载连接到 Amazon DocumentDB 所需的公钥。

    wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

    在 scripts/ 目录中,有一个名为 test_connection.py 的文件。在文件编辑器中打开此文件。此文件的内容如下所示。

    import os
    
    import pymongo
    
    USER = os.environ["DOCUMENTDB_USER"]
    PASSWORD = os.environ["DOCUMENTDB_PASSWORD"]
    HOST = os.environ["DOCUMENTDB_ENDPOINT"]
    
    client = pymongo.MongoClient(
        f"mongodb://{USER}:{PASSWORD}@{HOST}:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred"
    )
    
    db = client.restaurants
    
    results = db.restaurants.count()
    
    print(
        f"Connected successfully! There are {results} documents in your restaurants collection."
    )

    此文件使用 PyMongo(一种使用 MongoDB API 的开源 Python 库)。该脚本会读取您配置的环境变量,然后使用一个连接字符串初始化客户端,该字符串中包含用户名、密码和集群端点。最后,该脚本会执行 count() 操作以计算 restaurants(餐厅)集合中的记录数。

    在终端运行以下命令来测试连接情况。

    python scripts/test_connection.py

    您应当会在终端看到包含以下输出结果的消息。

    Connected successfully! There are 0 documents in your restaurants collection.


    在本模块中,您使用 Amazon DocumentDB 创建了一个文档数据库。Amazon DocumentDB 提供与 MongoDB API 兼容的全托管文档数据库。创建数据库后,您配置了安全组,允许使用从 AWS Cloud9 环境到 Amazon DocumentDB 数据库的入站流量。最后,您了解了如何与 Amazon DocumentDB 进行连接,以及如何通过运行脚本来测试连接情况。

    在下一个模块中,您将为餐厅营销服务设计数据模型,并加载包含示例数据的表。

  • 在本模块中,您将学习有关使用文档数据库进行数据建模的基础知识。首先,您将学习文档数据库的一些关键术语和概念。然后将一些示例文档加载到数据库中。


    如果您之前主要使用关系数据库,需要关注的是某些文档数据库术语可能会有所不同。但文档数据库中的许多概念都与关系数据库相似。

    关于 Amazon DocumentDB,应当学习三个关键术语:

    • 集合:Amazon DocumentDB 数据库中的一组记录。集合与关系数据库中的表相似。
    • 文档:Amazon DocumentDB 中的记录。此术语是指一组可以由主键标识的数据。它与关系数据库中的行相似,是文档数据库中的基础数据单元。
    • 字段:在文档中,数据属性称为字段。字段与关系数据库中的列相似。但是,您不必像对关系数据库那样为集合预先指定字段。Amazon DocumentDB 是无模式的,这意味着数据库本身不会强制执行您的数据模式。您应该有一个数据模式,但该模式是在您的应用程序代码中强制执行的。

    虽然文档与关系数据库中的行相似,但二者也存在显著差异。在关系数据库中,您通常会将相关记录分解为原子单元并将不同的实体类型存储在不同的表中,以此将数据标准化。然后您可以在查询时使用 SQL 联接运算符重新合并这些记录。

    在文档数据库中使用的方法有所不同。您会将相关数据一起存储在单个文档中。这意味着文档可以包含具有简单值(如字符串和数字)的字段,也可以包含具有复杂值(如数组和嵌套文档)的字段。

    scripts/restaurant_1.json 文件中有一个示例文档。在文件编辑器中打开此文件。您应当会看到以下内容。

    {
      "name": "The Vineyard",
      "createdAt": "2020-02-15 01:45:40",
      "updatedAt": "2020-03-13 03:48:35",
      "address": {
        "street": "1122 Broadway",
        "location": "New York, NY"
      },
      "promotedReviews": [
        {
          "reviewer": "delighted_dan",
          "rating": 5,
          "review": "This place is great! Came here with my family and we all loved it. Try the tortellini!"
        },
        {
          "reviewer": "happy_hannah",
          "rating": 4,
          "review": "Pretty good! Very nice service and good food. Would come again!"
        }
      ],
      "foodImages": [
        {
          "url": "https://cdn.reviewmyrestaurant.com/lkj234n1k.png",
          "caption": "Croque Madame"
        },
        {
          "url": "https://cdn.reviewmyrestaurant.com/lksfm1340.png",
          "caption": "French Onion Soup"
        }
      ]
    }

    请注意,此文档的内容非常丰富。内容包括简单的信息(如餐厅名称和成立日期)。还包括一个嵌套文档,该嵌套文档中包含餐厅的地址信息、用于推广评论的文档集以及餐厅食物的图片。与关系数据库中需要读取多张表且合并结果的类似查询相比,将这些数据放在同一文档中会提高读取速度。

    Amazon DocumentDB 提供灵活的索引功能,您可以通过多种方式为文档编制索引以实现高效查询。您可以为单个字段(如餐厅名称)编制索引,也可以使用复合索引为多个字段编制索引。例如,您可能想针对位置和 updatedAt 时间戳创建复合索引,以查找位于特定位置且最近更新过其页面的餐厅。

    现在,加载示例数据并创建简单索引以查看其工作方式。

    在 scripts/ 目录中,有一个名为 load_sample_data.py 的文件。在文件编辑器中打开此文件。其内容应当如下所示。

    import json
    import os
    
    import pymongo
    
    USER = os.environ["DOCUMENTDB_USER"]
    PASSWORD = os.environ["DOCUMENTDB_PASSWORD"]
    HOST = os.environ["DOCUMENTDB_ENDPOINT"]
    
    client = pymongo.MongoClient(
        f"mongodb://{USER}:{PASSWORD}@{HOST}:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred"
    )
    
    db = client.restaurants
    
    with open("scripts/restaurant_1.json", "r") as f:
        restaurant = json.load(f)
        db.restaurants.insert_one(restaurant)
    
    with open("scripts/restaurant_2.json", "r") as f:
        restaurant = json.load(f)
        db.restaurants.insert_one(restaurant)
    
    print("Documents loaded successfully.")
    
    db.restaurants.create_index([("name", pymongo.DESCENDING)])
    
    print("Index created successfully.")

    该脚本执行两个操作。首先,它从本地文件读取两个示例 Restaurant 文档,并将其加载到 Restaurants 集合中的 Amazon DocumentDB 数据库中。然后,它为 name 字段创建单字段索引,以便按餐厅名称进行高效查找。

    在终端运行以下命令来执行该脚本。

    python scripts/load_sample_data.py

    您应当会在终端看到以下输出结果。

    $ python scripts/load_sample_data.py
    Documents loaded successfully.
    Index created successfully.

    现在,数据已加载,可以再次执行 scripts/test_connection.py 脚本以查看数据库中的文档数量。

    在终端运行以下命令。

    python scripts/test_connection.py

    您应当会在终端看到以下输出结果。

    $ python scripts/test_connection.py
    Connected successfully! There are 2 documents in your restaurants collection.

    太棒了!您已将文档成功插入到 Amazon DocumentDB 数据库中。


    在本模块中,您学习了用来处理文档数据库的基本术语,并看到了示例文档。然后,您将一些示例文档加载到 Amazon DocumentDB 数据库并创建了一个索引。

    在下一个模块中,将针对 Amazon DocumentDB 数据库运行高级查询。

  • 在本模块中,您将学习如何在应用程序中使用 Amazon DocumentDB。首先,您将在数据库集合中创建一个复合索引并使用该索引查询文档。然后,您将了解如何更新文档。最后,您将再次查询数据以验证数据是否发生变化。


    在上一个模块中,您为集合中的 name 字段创建了一个单字段索引。在本模块中,您将通过为两个字段编制索引来创建复合索引。

    假设您要查找位于特定位置的餐厅。当浏览这些餐厅时,您想要查看最近更新过其页面的餐厅,以便您对上次访问以来餐厅页面发生的任何变化进行查看。

    为此,您可以使用复合索引。复合索引会为多个字段编制索引。复合索引首先根据索引中的第一个字段对文档进行排序,然后根据第二个字段对文档进行排序,以此类推,将针对索引中的每个字段对文档进行排序。

    该使用场景中创建的复合索引使用第一个字段的位置和第二个字段的已更新时间戳。

    在 scripts/ 目录中,有一个名为 add_compound_index.py 的文件。在文件编辑器中打开此文件。其内容应当如下所示。

    import os
    
    import pymongo
    
    USER = os.environ["DOCUMENTDB_USER"]
    PASSWORD = os.environ["DOCUMENTDB_PASSWORD"]
    HOST = os.environ["DOCUMENTDB_ENDPOINT"]
    
    client = pymongo.MongoClient(
        f"mongodb://{USER}:{PASSWORD}@{HOST}:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred"
    )
    
    db = client.restaurants
    
    db.restaurants.create_index(
        [("address.location", pymongo.ASCENDING), ("updatedAt", pymongo.DESCENDING)]
    )
    
    print("Index created successfully.")

    这与 scripts/load_sample_data.py 脚本中的索引创建过程相似,区别在于复合索引有两个字段,而非一个。

    在终端运行以下命令来创建复合索引。

    python scripts/add_compound_index.py

    您应当会在控制台上看到输出结果,该结果用于确认索引已创建。

    然后,使用该索引。在 application/ 目录中,有一个名为 get_recently_updated_by_location.py 的文件。在文件编辑器中打开此文件。其内容应当如下所示。

    import os
    
    import pymongo
    
    USER = os.environ["DOCUMENTDB_USER"]
    PASSWORD = os.environ["DOCUMENTDB_PASSWORD"]
    HOST = os.environ["DOCUMENTDB_ENDPOINT"]
    
    client = pymongo.MongoClient(
        f"mongodb://{USER}:{PASSWORD}@{HOST}:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred"
    )
    
    db = client.restaurants
    
    
    def get_recently_updated_by_location(location):
        results = db.restaurants.find({"address.location": location}).sort(
            [("updatedAt", pymongo.DESCENDING)]
        )
        return results
    
    
    results = get_recently_updated_by_location("New York, NY")
    for restaurant in results:
        print(f"Restaurant: {restaurant['name']}. Updated at {restaurant['updatedAt']}")

    在此文件中,有一个名为 get_recently_updated_by_location 的函数。该函数与应用程序中的代码相似。该函数提取餐厅名称,然后查询 Amazon DocumentDB 以找到位于该位置的餐厅。系统会按照 updatedAt 字段的顺序对匹配项进行排序。

    在此文件的底部,有一条语句用于调用该函数,以在 New York 和 NY 中查找最近更新过其页面的餐厅。然后,该语句会列显结果。

    在终端运行以下命令来执行该脚本。

    python application/get_recently_updated_by_location.py

    您应当会在终端看到以下输出结果。

    $ python application/get_recently_updated_by_location.py
    Restaurant: Bill's Burgers.Updated at 2020-04-10 04:07:23
    Restaurant: The Vineyard.Updated at 2020-03-13 03:48:35

    请注意,输出结果与 New York 餐厅和 NY 餐厅都匹配,并按照这些餐厅最近更新的时间顺序返回。

    接着,让我们假设您想要更新某个餐厅,您可以通过某种方法让餐厅在其推广评论中添加新评论。

     applications/ 目录中,有一个名为 add_review_to_restaurant.py 的文件。该文件的内容如下所示。

    import datetime
    import os
    
    import pymongo
    
    USER = os.environ["DOCUMENTDB_USER"]
    PASSWORD = os.environ["DOCUMENTDB_PASSWORD"]
    HOST = os.environ["DOCUMENTDB_ENDPOINT"]
    
    client = pymongo.MongoClient(
        f"mongodb://{USER}:{PASSWORD}@{HOST}:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred"
    )
    
    db = client.restaurants
    
    
    def add_review_to_restaurant(name, review):
        db.restaurants.update_one(
            {"name": name},
            {
                "$push": {"promotedReviews": review},
                "$set": {"updatedAt": datetime.datetime.now().isoformat(),},
            },
        )
        return
    
    
    add_review_to_restaurant(
        "The Vineyard",
        {
            "reviewer": "elated_eric",
            "rating": 5,
            "review": "Sooo good! Can't wait to come back.",
        },
    )

    有一个名为 add_review_to_restaurant 的函数,该函数与应用程序中的代码相似。该函数提取餐厅名称和评论,并为餐厅添加评论。

    在该函数中查看数据库代码。它使用 update_one() 方法更新单条记录。第一个参数标识要更新的文档。它会与 name 字段进行匹配。第二个参数包含要应用的更新。在该实例中,您会使用 $push 运算符向 promotedReviews 数组中添加其他元素。此外,您还会将 updatedAt 时间戳更新为最新时间。

    在此文件的底部,有一条语句使用示例数据调用该函数。该语句为 The Vineyard 餐厅添加示例评论。

    在终端运行以下命令来运行该脚本,以便为 The Vineyard 添加新评论。

    python application/add_review_to_restaurant.py

    此命令没有输出结果。若要查看餐厅文档是否已更新,请再次运行 application/get_recently_updated_by_location.py 脚本。由于 The Vineyard 已更新,因此它现在应该显示在结果第一条。

    在终端使用以下命令运行该脚本。

    python application/get_recently_updated_by_location.py

    您应当会在终端看到以下输出结果(请注意,您的输出结果可能会稍有不同,因为 Vineyard 根据您运行 update 命令的时间添加了一个时间戳)。

    $ python application/get_recently_updated_by_location.py
    Restaurant: The Vineyard.Updated at 2020-05-28T16:38:23.485473
    Restaurant: Bill's Burgers.Updated at 2020-04-10 04:07:23

    成功了!现在,The Vineyard 先于 Bill's Burgers 返回,输出结果中显示这两个餐厅的更新时间戳。


    在本模块中,您学习了如何使用 Amazon DocumentDB 执行更高级的数据访问。首先,您创建了一个复合索引,该索引使您能够针对多个字段进行高效查询。然后,您使用该索引按最近更新时间查询位于某个位置的餐厅。最后,您更新了现有文档中的复杂字段并验证了该查询是否已更新。

    在下一个模块中,您将清除在本课中创建的资源。

  • 在本课中,您使用 Amazon DocumentDB 创建了一个文档数据库,该数据库充当餐厅内容管理服务的数据库。文档数据库非常适用于包含异构数据的内容管理系统,在这类系统中,异构数据需要存储在一起以实现快速访问。您可以通过 Amazon DocumentDB 获得可简化数据库操作的全托管文档数据库。

    在本模块中,您将清除在本课中创建的资源,以免产生额外费用。


    首先,删除您的 Amazon DocumentDB 数据库。为此,请前往 Amazon DocumentDB 控制台上的 Instances(实例)页面。选择您的数据库实例,然后在 Actions(操作)下拉菜单中选择 Delete(删除)。

    (click to zoom)

    在本课中,您可以选择不保留数据库的最终快照。选择 Delete(删除)以确认删除。

    (click to zoom)

    Amazon DocumentDB 实例页面显示系统正在删除您的实例。

    (click to zoom)

    此外,您需要删除 AWS Cloud9 开发环境。为此,请前往 AWS Cloud9 控制台。选择您为本课创建的环境,然后选择 Delete(删除)。

    (click to zoom)

    在本模块中,您学习了如何清除在本课中创建的 Amazon DocumentDB 数据库和 AWS Cloud9 环境。

在本课中,您学习了如何在应用程序中创建和使用 Amazon DocumentDB 数据库。首先,您创建了一个 Amazon DocumentDB 数据库,并配置了网络访问权限,以便与数据库进行连接。然后,您学习了文档数据库术语并加载了包含示例数据的数据库。最后,您了解了如何在应用程序中使用文档数据库,包括如何查询文档以及如何更新现有文档。当您使用 Amazon DocumentDB 构建应用程序时,可以使用这些模式。

此页内容对您是否有帮助?