必需的访问权限
要部署联合数据库实例,您必须对该项目具有 Project Owner 访问权限。
重要
在部署其联合数据库实例之前,具有 Organization Owner访问权限的用户必须将自己作为 添加到项目中。Project Owner
先决条件
在 Amazon Web Services S3 存储桶中部署联合数据库实例之前,您必须完成以下步骤:
创建一个 MongoDB Atlas帐户(如果您还没有帐户)。
配置Amazon Web Services CLI以访问权限您的Amazon Web Services账户。或者,您必须有权访问Amazon Web Services管理控制台并有权创建IAM 角色。
步骤
指定 AWS S3 数据存储并配置映射到数据存储的联合数据库和虚拟集合。
从Data Sources部分选择联合数据库实例的数据集。
单击Add Data Sources选择您的数据存储。
指定您的数据存储。
选择 Amazon S3 可为Amazon Web Services S3存储桶中的数据配置联合数据库实例。
与
stores.[n].providerJSON 配置设置对应。为 Atlas 选择一个 AWS IAM 角色。
您可以从角色选择下拉列表中选择 Atlas 已获得授权的现有AWS IAM 角色,也可以选择Authorize an AWS IAM Role以授权新角色。
如果您选择了一个已经被 Atlas 授权的现有角色,请继续下一步,列出您的 AWS S3 存储桶。
如果要为现有角色授权 Atlas 或创建新角色, 请先完成以下步骤, 然后再继续下一步:
选择Authorize an AWS IAM Role以授权新角色,或从下拉列表中选择现有角色并单击Next 。
在Add Atlas to the trust relationships of your AWS IAM role部分中使用AWS ARN和唯一外部 ID,将 Atlas 添加到现有或新AWS IAM 角色的信任关系中。
在 Atlas 用户界面中,单击并展开以下选项之一:
Create New Role with the AWS CLI 演示如何使用ARN和唯一外部ID将Atlas添加到新Amazon Web Services IAM角色的信任关系中。 按照 Atlas 用户界面中的步骤创建新角色。 要了解更多信息,请参阅使用Amazon Web Services CLI创建新角色。
授权新角色时,如果退出
Configure a New Data Lake工作流程:Add Trust Relationships to an Existing Role展示如何使用ARN和唯一外部 ID 将 Atlas 添加到现有Amazon Web Services IAM角色的信任关系。按照 Atlas 用户界面中的步骤操作,将 Atlas 添加到现有角色的信任关系。 要了解更多信息,请参阅为现有角色添加信任关系。
重要提示:如果您将来修改自定义Amazon Web Services角色ARN,请验证该角色的访问权限策略是否包括对联合数据库实例的S3资源的适当访问权限。
- 有关更多信息,请参阅
单击 Next(连接)。
输入 S 3存储桶信息。
输入 S 3存储桶的名称。
与
stores.[n].bucketJSON 配置设置对应。指定存储桶是Read-only还是同时是Read and write 。
Atlas只能查询Read-only存储桶;如果您希望查询并将查询结果保存到S 3存储桶,请选择Read and write 。 要将查询结果保存到S3存储桶,授予Atlas访问权限Amazon Web Services资源的角色策略必须包含
s3:PutObject和s3:DeleteObject权限,此外还有s3:ListBucket、s3:GetObject、s3:GetObjectVersion和s3:GetBucketLocation权限,可授予读取访问权限。 请参阅下面的步骤 4,学习;了解有关为Amazon Web Services IAM角色分配访问权限策略的更多信息。选择S 3存储桶的地区。
与
stores.[n].regionJSON 配置设置对应。重要提示:如果Atlas Data Federation无法检索指定 S3 存储桶的地区,则无法创建联合数据库实例。
可选。 指定Data Federation在S 3存储桶中搜索文件时应使用的前缀。 如果省略, Data Federation将从S 3存储桶的根开始递归搜索所有文件。
与
stores.[n].prefixJSON 配置设置对应。单击 Next(连接)。
为您的 AWS IAM 角色指定访问策略。
按照Atlas user界面中的步骤为您的Amazon Web Services IAM角色分配访问权限策略。
只读或读写访问权限的角色策略应如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation" ], "Resource": [ <role arn> ] } ] } { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ <role arn> ] } ] } 单击 Next(连接)。
为S 3存储桶中的文件定义路径结构,然后单击Next 。
例如:
s3://<bucket-name>/<path>/<to>/<files>/<filename>.<file-extension> 要为 S3存储桶上的数据添加其他路径,请单击 Add Data Source 并输入路径。要学习;了解有关路径的更多信息,请参阅定义路径文件事务语法。
与
databases.[n].collections.[n].dataSources.[n].pathJSON 配置设置对应。创建虚拟数据库、集合和视图,并将数据库、集合和视图映射到数据存储。
(可选)单击对于:
数据库,用于编辑数据库名称。默认值为
VirtualDatabase[n]。与
databases.[n].nameJSON 配置设置对应。集合,可编辑集合名称。 默认值为
VirtualCollection[n]。与
databases.[n].collections.[n].nameJSON 配置设置对应。视图,用于编辑视图名称。
您可以单击:
从Data Sources部分的下拉列表中选择AWS S3 。
拖放数据存储以与集合映射。
与
databases.[n].collections.[n].dataSourcesJSON 配置设置对应。
Amazon Web Services S3数据存储的配置应如下所示:
{ "stores" : [ { "name" : "<string>", "provider": "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "includeTags": <boolean>, "delimiter": "<string>", "public": <boolean> } ], "databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "path" : "<string>", "defaultFormat" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": true | false } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] }
有关配置设置的更多信息,请参阅为联合数据库实例配置数据存储。
定义您的Amazon Web Services S3 数据存储。
编辑
stores用户界面中显示的JSON配置设置。 您的stores配置设置应如下所示:"stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "delimiter" : "<string>", "includeTags": <boolean>, "public": <boolean> } ] 要学习;了解有关这些配置设置的更多信息,请参阅
stores。定义联合数据库实例虚拟数据库、集合和视图。
编辑
databases用户界面中显示的JSON配置设置。 您的databases配置设置应如下所示:"databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "defaultFormat" : "<string>", "path" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] 要学习;了解有关这些配置设置的更多信息,请参阅
databases。
要使用 Atlas CLI 创建新的 Data Federation 数据库,请运行以下命令:
atlas dataFederation create <name> [options]
要学习;了解有关命令语法和参数的更多信息,请参阅Atlas CLI AtlasdataFederation create 的 文档。