You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CloudFormation为AWS Glue爬虫设置‘Inherit schema from table’参数

如何通过CloudFormation设置AWS Glue爬虫的“Inherit schema from table”参数

核心配置方法

要在CloudFormation中实现“Inherit schema from table”这个功能,你需要结合**SchemaChangePolicy和CrawlerConfiguration**两个部分的配置来完成,具体步骤如下:

  1. 设置SchemaChangePolicy的UpdateBehavior为LOG
    这是启用继承模式的基础前提,对应控制台里“仅记录变更”的底层行为。在CFN模板中你需要这样定义:

    SchemaChangePolicy:
      UpdateBehavior: "LOG"
      DeleteBehavior: "LOG" # DeleteBehavior可根据需求调整,比如改为DELETE_FROM_DATABASE
    
  2. 在CrawlerConfiguration中开启继承模式
    这一步是核心,通过JSON格式的配置来触发“Inherit schema from table”的逻辑。你需要在CrawlerConfiguration属性中加入以下内容:

    CrawlerConfiguration: |
      {
        "Version": 1.0,
        "CrawlerOutput": {
          "Tables": {
            "InheritFromTable": true
          }
        }
      }
    

把这两部分结合起来,完整的Glue爬虫资源示例大概是这样的:

Resources:
  MyInheritSchemaCrawler:
    Type: AWS::Glue::Crawler
    Properties:
      Name: MyInheritSchemaCrawler
      Role: !Ref GlueCrawlerServiceRole
      DatabaseName: !Ref TargetGlueDatabase
      Targets:
        S3Targets:
          - Path: s3://my-data-storage-bucket/target-path/
      SchemaChangePolicy:
        UpdateBehavior: "LOG"
        DeleteBehavior: "LOG"
      CrawlerConfiguration: |
        {
          "Version": 1.0,
          "CrawlerOutput": {
            "Tables": {
              "InheritFromTable": true
            }
          }
        }

关于Schema Change Policy选项差异的解释

你提到控制台有3个选项,但CloudFormation的SchemaChangePolicy只暴露了2个直接属性(UpdateBehavior和DeleteBehavior),这是因为第三个选项“Inherit schema from table”并不是一个独立的SchemaChangePolicy属性,而是**UpdateBehavior=LOG加上CrawlerConfiguration里InheritFromTable=true的组合效果**。

控制台把这个组合封装成了一个直观的选项,方便用户快速选择;而CloudFormation更偏向于暴露底层的配置参数,需要我们手动组合这两个配置来达到和控制台选项完全一致的效果。

内容的提问来源于stack exchange,提问作者Cherry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:44:47