完成后删除 AWS Glue 爬虫

Delete AWS Glue Crawler After Completion

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

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

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

问题在于,如果服务器在这 20-30 分钟内停机或中断 window 爬虫需要完成,它将不再被删除。

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

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

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