AWS Glue创建Crawler时Configuration参数配置失败求助
问题解决:AWS Glue Crawler创建时Configuration参数类型错误
问题原因
报错提示很明确:Configuration参数要求是字符串类型,但你传入的是字典对象。在AWS CLI的--cli-input-json参数中,Configuration的值必须是转义后的JSON字符串,而非直接嵌套的JSON对象。
修正后的命令
把Configuration对应的JSON对象转成字符串格式,需要在外层包裹双引号,同时对内部的双引号做转义处理:
aws glue create-crawler --debug --cli-input-json '{ "Name": "crawler", "Role": "arn:...", "DatabaseName": "db", "Description": "table crawler", "Targets": { "CatalogTargets": [{ "DatabaseName": "db", "Tables": ["tab"] }] }, "SchemaChangePolicy": { "UpdateBehavior": "LOG", "DeleteBehavior": "LOG" }, "RecrawlPolicy": { "RecrawlBehavior": "CRAWL_EVERYTHING" }, "Configuration": "{\"Version\": 1.0, \"CrawlerOutput\": {\"Partitions\": {\"AddOrUpdateBehavior\": \"InheritFromTable\"}}, \"Grouping\": {\"TableGroupingPolicy\": \"CombineCompatibleSchemas\"}}", "Schedule": "Cron(1 * * * ? *)" }'
关键说明
- 核心是将
Configuration原本的JSON对象,转换为JSON字符串:给整个对象套上双引号,并且把对象内部的所有双引号用\"转义。 - 这样AWS CLI解析时,会把
Configuration识别为符合要求的字符串类型,而非字典,就能正常执行命令。
内容的提问来源于stack exchange,提问作者Nir
相关产品推荐
相关产品推荐

