如何使用ExportTableToPointInTimeRequest等待导出完成?



我使用ExportTableToPointInTimeRequest api在Java中将dynamodb表导出到S3。我希望只在导出完成后才处理接下来的步骤,因为还有一个关联的粘合作业,它将从s3导出中读取数据。我该怎么做才能使代码在处理下一步之前等待一段时间?

ExportTableToPointInTimeRequest exportTableToPointInTimeRequest = new ExportTableToPointInTimeRequest()
.withTableArn(tableArn)
.withS3Bucket(s3Bucket)
.withExportFormat(ExportFormat.DYNAMODB_JSON)
.withS3Prefix(s3Prefix);
ExportTableToPointInTimeResult exportTableToPointInTimeResult =
dynamoDB.exportTableToPointInTime(exportTableToPointInTimeRequest);

——处理下一步——

您不希望在代码中等待导出完成。

EventBridge试试。用一个规则配置事件总线,该规则监视指示包含导出的S3对象已到达或导出已完成的事件。然后将目标与该规则关联,以便在事件(导出完成)发生时启动Glue作业。

这个问题有一些与此解决方案相关的链接和提示:只有在Amazon DynamoDB导出到Amazon S3完全完成后才能调用AWS Lambda函数。

我更喜欢那些建议基于事件的解决方案的答案,而不是与Lambda函数中等待有关的答案。

如果您在代码中等待,则必须管理观察和等待。AWS可以处理监视和等待,而无需向您收取计算资源的费用。

相关内容

  • 没有找到相关文章

最新更新