我想根据以下文档使用boto3 API创建aws胶搜寻器。
在这里,我需要传递近100条s3路径,我想以编程方式创建它。
response = client.create_crawler(
Name='string',
Role='string',
DatabaseName='string',
Description='string',
Targets={
'S3Targets': [
{
'Path': 'string',
'Exclusions': [
'string',
],
'ConnectionName': 'string'
},
],
这里我需要一次将s3的100条路径传递给API调用,是否有更好的方法以编程方式完成它,而不是将所有s3路径手动添加到API调用中?
答案 0 :(得分:0)
正如Prabbakar所述,将对象的完整前缀传递给搜寻器不是最佳实践。考虑添加整个路径并使用排除项。如果那是唯一的方法,则可以从Targets对象中的列表中展开前缀
s3_paths = [
"s3://Bucketname/data/test1/",
"s3://Bucketname/data/testone",
"s3://Bucketname/data/testrandompath",
...
]
response = client.create_crawler(
Name='string',
Role='string',
DatabaseName='string',
Description='string',
Targets={
'S3Targets': [
{
'Path': s3_path,
'Exclusions': [],
'ConnectionName': 'string'
}
for s3_path in s3_paths
]
}
)