Aws Dynamodb数据导出到S3
Posted zhchoutai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Aws Dynamodb数据导出到S3相关的知识,希望对你有一定的参考价值。
本节将描写叙述怎样从一个或多个DynamoDB的表导出数据到S3的bucket中。在运行导出之前你须要提前创建好S3的bucket。
注意
假设你还没有使用过AWS Data Pipeline,在运行以下的流程前你须要先去创建两个IAM roles。很多其它信息,请移步
Creating IAM Roles for AWS Data Pipeline。
从DynamoDB中导出数据到S3
- 登陆到AWS管理员控制台,打开DynamoDB console。
- 在 Amazon DynamoDB Tables 页面, 点击 Export/Import.
- 在 Export/Import 页面, 选择你想导出的表,然后点击 Export from DynamoDB.
- 在 Create Export Table Data Pipeline(s) 页面。按以下流程操作:
-
- 在 S3 Output Folder 文本框中填写 Amazon S3 URI,导出文件将存放在S3中对应的目录下。比如:
s3://mybucket/exports
这个URI的规则应该是这样s3://
:bucketname
/folder
-
bucketname
是S3中bucket的名称folder
表示此bucket下目录的名称。假设这个目录不存在,它将被自己主动创建。假设你不指定这个名称,它将被自己主动授予一个名字,名字的规则是:
s3://
.bucketname
/region
/tablename
- 在 S3 Log Folder 文本框中输入一个S3 URI。导出过程的日志将被存储在对应的folder中。比如:
s3://mybucket/logs/
S3 Log Folder URI的格式和 S3 Output Folder的格式同样。 - 在 Throughput Rate 文本框中可选择一个百分比。
这个比率表示在导出过程中会消耗读吞吐量的上限。比如,如果你要导出的表的读吞吐量是20,同一时候你设置的百分比是40%。
那么导出时所消耗的吞吐量将不会超过8.
假设你在导出多个表,这个 Throughput Rate 将会被应用到每一个表中。 - Execution Timeout 文本框。输入导出任务的超时时长。假设导出任务在这个时长内还没运行完毕,此任务会失败。
- Send notifications to 文本框,输入一个email地址。
在 pipeline被创建后。你将会收到一封email邀请订阅Amazon SNS。假设你接受了此邀请。在每次运行导出操作时你都将会收到email通知。
- Schedule 选项,选择以下当中一项:
-
- One-time Export —导出任务将在pipeline被创建后马上运行。
- Daily Export — 导出任务将会在你所指定的时刻运行。同一时候会在每天的那个时刻反复。
- Data Pipeline Role, 选择 DataPipelineDefaultRole.
- Resource Role, 选择 DataPipelineDefaultResourceRole
- 在 S3 Output Folder 文本框中填写 Amazon S3 URI,导出文件将存放在S3中对应的目录下。比如:
- 确认好以上设置然后点击 Create Export Pipeline.
你的 pipeline 如今将被创建。这个过程可能会花费几分钟完毕。要查看当前状态。移步 Managing
Export and Import Pipelines.
假设你选择的Schedule是 one-time export,导出任务将在pipeline 创建成功后马上运行。
假设你选择的是daily export,导出任务将会在指定时刻运行,同一时候会在每天的那个时刻运行导出任务。
当导出任务结束,你能够到
Amazon S3 console 来查看导出文件。这个文件将会在以你的表名命名的目录中。而文件名称将会是这样的格式:
YYYY-MM-DD_HH.MM。
文件内部结构会在
Verify
Data Export File 中描写叙述。
以上是关于Aws Dynamodb数据导出到S3的主要内容,如果未能解决你的问题,请参考以下文章
最佳方法:如何将 dynamodb 表导出到 csv 并将其存储在 s3