本教程介绍如何创建和删除Atlas项目和集群,以在自动化脚本开发期间用作临时测试环境。使用此工作流程根据测试集群验证脚本,在完成测试后不会留下资源。
先决条件
在开始之前,您必须具备以下条件:
Atlas user 账户。
Atlas 组织及其组织 ID。您可以使用 atlas organizations list Atlas CLI 命令检索组织 ID。
Atlas CLI 已安装和配置。要了解更多信息,请参阅安装或更新 Atlas CLI 和 从 Atlas CLI 进行连接。
步骤
创建临时项目、集群和数据库用户。
运行以下 Atlas CLI 命令以创建测试环境,测试完成后可以将其删除:
运行atlas users describe命令以返回 Atlas user ID。将
<userEmail>替换为与 Atlas user 账户关联的电子邮件地址。atlas users describe --username <userEmail> 运行 atlas projects create 命令,在 Atlas 组织中创建名为
myTempProject的新项目。将<orgId>替换为组织 ID,将<userId>替换为在上一步中检索到的 Atlas user ID。atlas projects create myTempProject --orgId <orgId> --ownerId <userId> 从响应中检索您创建的项目的项目 ID。在以下示例响应中,项目 ID 为
64933bde48add154124e343f。Project '64933bde48add154124e343f' created. 或者,您可以使用atlas projects list命令查找项目 ID。
运行 Atlas 设置命令以在新项目中创建 Atlas 集群和数据库用户。以下命令在 Amazon Web Services
US_EAST_1区域中创建M10集群,并使用临时用户myTempUser。将
<password>替换为数据库用户的密码,将<projectId>替换为您创建的项目的项目 ID。重要
M10集群不是免费的。您创建的集群将产生每小时费用,直到您将其删除。有关 Atlas 集群计费的更多信息,请参阅 集群配置费用 文档。atlas setup --clusterName myTempCluster --provider AWS --region US_EAST_1 --tier M10 --username myTempUser --password <password> --currentIp --skipSampleData --projectId <projectId> --force Atlas 创建集群后,Atlas CLI 会提供集群连接字符串并通过
mongosh连接到您的集群。
为临时项目设置程序化身份验证。
要从自动化脚本运行 Atlas CLI 命令,您需要一种方式,使自动化能够以编程方式向 Atlas 控制平面进行身份验证。一种方法是为项目创建服务帐户,并将其凭证添加到环境中:
为临时项目创建服务帐户。
按照 Get Started with the Atlas Administration API 中的说明为临时项目创建服务帐户。保存服务帐户的客户端 ID 和客户端秘密值。
将服务账户凭证添加到测试环境。
若要使脚本运行 Atlas CLI 命令而无需交互式身份验证,则必须将服务账户凭证添加到测试环境。您可以通过设置
MONGODB_ATLAS_CLIENT_ID和MONGODB_ATLAS_CLIENT_SECRET环境变量、在测试环境中运行atlas auth login,或将凭证添加到命名配置文件并将--profile <profileName>添加到脚本中的每个 Atlas CLI 命令来实现此操作。
删除临时项目、集群和数据库用户。
运行以下 Atlas CLI 命令以删除测试环境。这可确保您为测试创建的所有资源都得到正确删除,并停止在 Atlas 账户上产生费用:
运行 Atlas 集群 删除 命令删除临时集群及其数据库用户。将
<projectId>替换为临时项目的项目 ID。atlas clusters delete myTempCluster --projectId <projectId> --force 运行 atlas projects delete 命令删除临时项目。将
<projectId>替换为临时项目的群组 ID(group ID)。atlas projects delete <projectId> --force 注意
在临时集群关闭前,您无法删除临时项目。如果您收到指示
CANNOT_CLOSE_GROUP_ACTIVE_ATLAS_CLUSTERS的错误,请等待五分钟,然后再次运行atlas projects delete命令。
您可以运行atlas projects list命令,确认已成功删除临时项目和集群。如果列表中缺少临时项目,则您已成功删除该项目和集群。