跳至内容

如何使用 Data Pipeline 运行一次性复制或自动计划同步我的 Amazon S3 存储桶?

1 分钟阅读
0

我想作为一次性任务或计划同步在两个 Amazon Simple Storage Service (Amazon S3) 存储桶之间传输数据。如何使用 AWS Data Pipeline 在存储桶之间设置复制或同步操作?

解决方案

**注意:**使用 Data Pipeline 是在 S3 存储桶之间传输数据的一种选项。其他选项包括使用 S3 批量操作、启用复制或在 AWS 命令行界面 (AWS CLI) 中运行 cp 或 sync 命令。

**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本。

1.确认您的 AWS Identity and Access Management (IAM) 用户或角色有足够的权限使用 Data Pipeline。

2.使用您的 IAM 用户或角色登录 AWS Data Pipeline 控制台。确认控制台设置为支持 Data Pipeline 的 AWS 区域。

**重要事项:**源存储桶和目标存储桶不必位于同一个区域。S3 存储桶也不必与管道位于同一区域。但是,由于区域间的数据传输会产生费用,因此请务必查看 Amazon S3 的数据传输定价。

3.选择 Create Pipeline(创建管道)。

4.对于 Name(名称),输入管道的名称。

5.对于 Source(源),选择 Build using a template(使用模板构建)。然后,选择 Run AWS CLI command(运行 AWS CLI 命令)。

6.对于 AWS CLI command(AWS CLI 命令),要设置复制操作,请输入以下命令:

aws s3 cp s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2

**注意:**copy 命令将覆盖目标存储桶中与源存储桶中对象具有相同密钥名称的所有对象。

要设置同步操作,请输入以下命令:

aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2

**注意:**sync 命令会比较源存储桶和目标存储桶,然后仅传输差异。

7.对于 Run(运行),选择 on pipeline activation(在管道激活时)进行一次性复制或同步作业。或者,对于计划复制或同步选择 on a schedule(按计划),然后根据您的使用案例填写 Run every(运行间隔)、Starting(开始时间)和 Ending(结束时间)字段。

8.对于 Logging(日志记录),您可以选择 Enabled(启用),然后输入 S3 location for logs(日志的 S3 位置)。或者,如果您不想要日志,可以选择 Disabled(禁用)。

9.对于 IAM roles(IAM 角色),您可以选择 Default role(默认角色)或 Custom role(自定义角色)。默认角色拥有 Amazon S3 对 s3:CreateBucket、s3:DeleteObject、s3:Get*、s3:List* 和 s3:Put* 的权限。

**注意:**如果存储桶使用 AWS Key Management Service (AWS KMS) 进行默认加密,则请确保授予适当的权限。必须向 Data Pipeline 角色授予使用 AWS KMS 密钥的适当权限。

10.选择 Activate(激活)。

**注意:**您可以选择通过为存储桶中的每个根级前缀创建多个管道来优化性能。


相关信息

AWS Data Pipeline 的 IAM 角色

如何提高适用于 Amazon S3 的 sync 命令的传输性能?

如何从另一个 AWS 账户复制 S3 对象?

如何授予对 Amazon S3 存储桶中对象的跨账户访问权限?

AWS 官方已更新 6 年前