【问题标题】:How can I set "create a single schema for each s3 path" in cloudformation?如何在 cloudformation 中设置“为每个 s3 路径创建一个模式”?
【发布时间】:2019-08-16 08:20:14
【问题描述】:

我想从 CFN (Cloudformation) 创建爬虫资源。
这是我的代码:

Type: AWS::Glue::Crawler
    Properties: 
      Name: !Ref GlueCrawlerName
      Role: !GetAtt crawlerRole.Arn
      Description: AWS Glue crawler to crawl DLG data
      DatabaseName: !Ref GlueDatabaseName
      Targets:
        S3Targets:
          - Path: 
              !Join
              - ''
              - - 's3://'
                - !Ref s3bucket
                - '/'
                - !Ref GlueTableName
      SchemaChangePolicy:
        UpdateBehavior: UPDATE_IN_DATABASE
        DeleteBehavior: DEPRECATE_IN_DATABASE
      Schedule:
        ScheduleExpression: cron(0 1 * * ? 2019)

一切正常,只有“为每个 S3 路径创建一个模式”是错误的。将哪个属性设置为 true?

【问题讨论】:

  • 请尝试更具体一些,并准确解释您想要实现的目标以及您当前的设置。就目前而言,这个问题完全无法回答。
  • 您现在可以查看吗? @MatusDubrava

标签: amazon-web-services amazon-cloudformation aws-glue


【解决方案1】:

您需要每个子文件夹一个表还是只需要一个位于 s3 路径根级别的表?

对于单根级别表,请在您的 CFN 中附加以下内容:

Configuration: "{\"Version\":1.0,\"Grouping\":{\"TableGroupingPolicy\":\"CombineCompatibleSchemas\"}}"

【讨论】:

  • 根目录只有一个表。
【解决方案2】:

也许会有所帮助。根据 AWS 文档:

使用字符串表示设置配置字段 爬虫 API 中的以下 JSON 对象:

{
   "Version": 1.0,
   "Grouping": {
      "TableGroupingPolicy": "CombineCompatibleSchemas" }
}

【讨论】:

  • 我可以只使用云形成来达到同样的效果吗?
猜你喜欢
  • 2015-06-09
  • 1970-01-01
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多