如何解决完成后删除 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 举报,一经查实,本站将立刻删除。