首页 > 代码库 > Aws Dynamodb数据导出到S3

Aws Dynamodb数据导出到S3

本节将描写叙述怎样从一个或多个DynamoDB的表导出数据到S3的bucket中。在运行导出之前你须要提前创建好S3的bucket。

注意
假设你还没有使用过AWS Data Pipeline,在运行以下的流程前你须要先去创建两个IAM roles。很多其它信息,请移步 Creating IAM Roles for AWS Data Pipeline。
从DynamoDB中导出数据到S3
  1. 登陆到AWS管理员控制台,打开DynamoDB console。

     https://console.aws.amazon.com/dynamodb/.

  2. 在 Amazon DynamoDB Tables 页面, 点击 Export/Import.
  3. Export/Import 页面, 选择你想导出的表,然后点击 Export from DynamoDB.
  4. 在 Create Export Table Data Pipeline(s) 页面。按以下流程操作:
    1. 在 S3 Output Folder 文本框中填写 Amazon S3 URI,导出文件将存放在S3中对应的目录下。比如: s3://mybucket/exports
      这个URI的规则应该是这样 s3://bucketname/folder :
      • bucketname 是S3中bucket的名称
      • folder 表示此bucket下目录的名称。假设这个目录不存在,它将被自己主动创建。

        假设你不指定这个名称,它将被自己主动授予一个名字,名字的规则是: s3://bucketname/region/tablename.

    2. S3 Log Folder 文本框中输入一个S3 URI。导出过程的日志将被存储在对应的folder中。比如:s3://mybucket/logs/
      S3 Log Folder URI的格式和 S3 Output Folder的格式同样。
    3. 在 Throughput Rate 文本框中可选择一个百分比。

      这个比率表示在导出过程中会消耗读吞吐量的上限。比如,如果你要导出的表的读吞吐量是20,同一时候你设置的百分比是40%。

      那么导出时所消耗的吞吐量将不会超过8.
      假设你在导出多个表,这个 Throughput Rate 将会被应用到每一个表中。

    4. Execution Timeout 文本框。输入导出任务的超时时长。假设导出任务在这个时长内还没运行完毕,此任务会失败。
    5. Send notifications to 文本框,输入一个email地址。

      在 pipeline被创建后。你将会收到一封email邀请订阅Amazon SNS。假设你接受了此邀请。在每次运行导出操作时你都将会收到email通知。

    6.  Schedule 选项,选择以下当中一项:
      • One-time Export —导出任务将在pipeline被创建后马上运行。

      • Daily Export — 导出任务将会在你所指定的时刻运行。同一时候会在每天的那个时刻反复。
    7. Data Pipeline Role, 选择 DataPipelineDefaultRole.
    8. Resource Role, 选择 DataPipelineDefaultResourceRole
  5. 确认好以上设置然后点击 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