Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 将具有动态生成名称的DynamoDB表导出到S3_Amazon S3_Amazon Dynamodb_Aws Glue - Fatal编程技术网

Amazon s3 将具有动态生成名称的DynamoDB表导出到S3

Amazon s3 将具有动态生成名称的DynamoDB表导出到S3,amazon-s3,amazon-dynamodb,aws-glue,Amazon S3,Amazon Dynamodb,Aws Glue,我将时间序列数据存储在每日生成的DynamoDB表中()。表的命名约定为“timeseries_2019-12-20”,其中2019-12-20取当前日期。我想以CSV格式将前几天表发送到S3存储桶。推荐的方法是什么?我在看AWS Glue,但没有看到如何让它每天找到新的表名。也许一个带有cloudwatch事件的lambda函数会更好?DynamoDB表的大小不大,只有几百个存储的数字 因此,您可以通过以下步骤实现这一点: 假设您在lambda中使用boto3(python) 用今天的日期计算

我将时间序列数据存储在每日生成的DynamoDB表中()。表的命名约定为“timeseries_2019-12-20”,其中2019-12-20取当前日期。我想以CSV格式将前几天表发送到S3存储桶。推荐的方法是什么?我在看AWS Glue,但没有看到如何让它每天找到新的表名。也许一个带有cloudwatch事件的lambda函数会更好?DynamoDB表的大小不大,只有几百个存储的数字

因此,您可以通过以下步骤实现这一点:

假设您在lambda中使用boto3(python)

  • 用今天的日期计算昨天的日期
  • 通过添加前缀(匹配表名)传递此日期,因为dynamodb目标是粘合创建/更新爬虫程序boto3 API调用并启动爬虫程序
  • 一旦爬虫在Glue目录中完成创建表,您就可以将其导入Glue ETL并将其转换为CSV

  • 为DynamoDB表创建一个lambda触发器,以便触发Glue crawler,或者您可以安排爬虫程序每天在某个时间点运行。

    表名格式是否保持不变,除了日期,即timeseries_2019-12-20、timeseries_2019-12-21、timeseries_2019-12-22???@Prabhakarredy是否正确。我想有一个不那么具有挑战性的方法来做到这一点,但我正在努力看到它。现在,通过使用AWS SAM调用lambda函数来创建每日表,并调用另一个lambda函数,将项目放入表中。理想情况下,我希望通过AWS SAM调用第三个lambda函数,将dynamo表导出到s3。到目前为止,我还没有看到这个。是的,这起作用了,我在第二步被挂断了。谢谢