如何在我的 CF 模板中设置 Glue Crawler RecrawlPolicy

How to set the Glue Crawler RecrawlPolicy in my CF template

我想将我的 glue 爬虫设置为仅爬取我的 s3 存储桶中的新文件夹。根据文档,我似乎想将 RecrawlBehavior 设置为 CRAWL_NEW_FOLDERS_ONLY。但是我在 CloudFormation 模板中找不到有关如何执行此操作的任何指导。

现在这是我的爬虫配置属性,但是我对 RecrawlBehavior 的使用是无效的:

Configuration: "{\"Version\":1.0,\"RecrawlBehavior\":\"CRAWL_NEW_FOLDERS_ONLY\",\"CrawlerOutput\":{\"Partitions\":{\"AddOrUpdateBehavior\":\"InheritFromTable\"},\"Tables\":{\"AddOrUpdateBehavior\":\"MergeNewColumns\"}}}"

据我了解,增量策略是 Glue 中相对较新的功能,Cloud Formation 尚不支持。

我建议克服此限制的解决方法是使用 cloudformation 创建爬虫,然后使用 AWS CLI 更新其 RecrawlPolicy 属性。

当您使用 cloudformation 创建爬虫并尝试使用 CLI 检索其属性时,“RecrawlPolicy”将“RecrawlBehavior”设置为“CRAWL_EVERYTHING”。您可以使用以下命令将其更改为增量爬网(仅抓取新文件夹)。

aws glue update-crawler 
    --name <crawlername> 
    --recrawl-policy '{"RecrawlBehavior": "CRAWL_NEW_FOLDERS_ONLY"}' 
    --schema-change-policy '{"UpdateBehavior":"LOG","DeleteBehavior":"LOG"}'