必需的访问权限
要部署联合数据库实例,您必须对该项目具有 Project Owner
访问权限。
重要
在部署其联合数据库实例之前,具有 Organization Owner
访问权限的用户必须将自己作为 添加到项目中。Project Owner
先决条件
在 Amazon Web Services S3 存储桶中部署联合数据库实例之前,您必须完成以下步骤:
创建一个 MongoDB Atlas帐户(如果您还没有帐户)。
配置Amazon Web Services CLI以访问权限您的Amazon Web Services账户。或者,您必须有权访问Amazon Web Services管理控制台并有权创建IAM 角色。
步骤
指定您的Amazon Web ServicesAmazon Web Services S3 数据存储,并配置映射到您的数据存储的联合数据库和虚拟集合。
从Data Sources部分选择联合数据库实例的数据集。
单击Add Data Sources选择您的数据存储。
指定您的数据存储。
选择 Amazon S3 可为Amazon Web Services S3存储桶中的数据配置联合数据库实例。
与
stores.[n].provider
JSON 配置设置对应。为 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].bucket
JSON 配置设置对应。指定存储桶是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].region
JSON 配置设置对应。重要提示:如果Atlas Data Federation无法检索指定 S3 存储桶的地区,则无法创建联合数据库实例。
可选。 指定Data Federation在S 3存储桶中搜索文件时应使用的前缀。 如果省略, Data Federation将从S 3存储桶的根开始递归搜索所有文件。
与
stores.[n].prefix
JSON 配置设置对应。单击 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> 要为S 3存储桶上的数据添加其他路径,请单击Add Data Source并输入路径。 要学习;了解有关路径的更多信息,请参阅为 S 3数据定义路径。
与
databases.[n].collections.[n].dataSources.[n].path
JSON 配置设置对应。创建虚拟数据库、集合和视图,并将数据库、集合和视图映射到数据存储。
(可选)单击对于:
数据库,用于编辑数据库名称。默认值为
VirtualDatabase[n]
。与
databases.[n].name
JSON 配置设置对应。集合,可编辑集合名称。 默认值为
VirtualCollection[n]
。与
databases.[n].collections.[n].name
JSON 配置设置对应。视图,用于编辑视图名称。
您可以单击:
从Data Sources部分的下拉列表中选择AWS S3 。
拖放数据存储以与集合映射。
与
databases.[n].collections.[n].dataSources
JSON 配置设置对应。
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 的 文档。