微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

完成后删除 AWS Glue Crawler

如何解决完成后删除 AWS Glue Crawler

我有一个用例,我需要创建一个 AWS glue Crawler 来爬取存储在 S3 中的一些数据,启动爬虫,然后在爬取完数据后删除爬虫。

我遇到的困境是,爬虫可能需要很长时间才能完成,有时需要 20-30 分钟才能完成对实际数据的爬取,然后才能将其删除

最初我打算用 AWSglueAsyncclient 来解决这个问题,这样我就不会阻塞调用线程 20-30 分钟,我只需编写一个回调,这样当爬虫完成时,它会立即被删除

这样做的问题是,如果服务器在 20 到 30 分钟的时间内出现故障或中断,爬虫程序将不会再将其删除

什么是持久化爬虫删除步骤的好方法,这样即使服务器宕机,它仍然会在重新启动后尝试删除爬虫?数据库似乎有点矫枉过正。

解决方法

您可以设置 EventBridge rule 以在爬虫完成时触发 lambda 函数。然后该函数将删除爬虫。示例规则是:

{
  "source": [
    "aws.glue"
  ],"detail-type": [
    "Glue Crawler State Change"
  ],"detail": {
    "state": [
      "Succeeded"
    ]
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。