我正在尝试通过boto3库创建并运行一个AWS胶搜寻器。搜寻器针对s3文件夹中的JSON文件。搜寻器成功完成,当我检查日志时没有错误,但未在我的胶水数据库中创建任何表
这不是权限问题,因为我能够通过CFT创建相同的搜寻器,并且在运行时它会按预期创建表。我在代码中使用与CFT相同的角色,并与boto3一起运行以创建它。
尝试使用boto3 create_crawler()和run_crawler()。在从CFT创建的搜寻器上使用boto3 update_crawler()进行了尝试,并更新了s3目标路径。
response = glue.create_crawler(
Name='my-crawler',
Role='my-role-arn',
DatabaseName='glue_database',
Description='Crawler for generating table from s3 target',
Targets={
'S3Targets': [
{
'Path': s3_target
}
]
},
SchemaChangePolicy={
'UpdateBehavior': 'UPDATE_IN_DATABASE',
'DeleteBehavior': 'LOG'
},
TablePrefix=''
)
答案 0 :(得分:0)
您确定已在胶客户程序中传递了正确的区域(胶对象创建)。
一旦我复制代码并忘记更改区域,就花了几个小时弄清楚为什么在没有错误的情况下不创建表。最终,我弄清楚了该表是在另一个区域中创建的,因为我在将代码复制到新区域时忘记更改区域。