【问题标题】:How can I wait for the export to complete using ExportTableToPointInTimeRequest?如何使用 ExportTableToPointInTimeRequest 等待导出完成?
【发布时间】:2022-06-12 05:48:48
【问题描述】:

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

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

ExportTableToPointInTimeResult exportTableToPointInTimeResult =
        dynamoDB.exportTableToPointInTime(exportTableToPointInTimeRequest);

---处理后续步骤---

【问题讨论】:

    标签: java amazon-s3 amazon-dynamodb aws-glue


    【解决方案1】:

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

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

    这个问题有一些答案,其中包含与此解决方案相关的链接和提示:Invoke an AWS Lambda function only after an Amazon DynamoDB export to Amazon S3 is totally complete

    我倾向于那里的答案建议基于事件的解决方案,而不是与在 Lambda 函数中等待有关的答案。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多