Да, вы можете сделать все это, используя boto3
, однако, нет единой функции, которая могла бы сделать все это одновременно. Вместо этого вам придется выполнить ряд следующих вызовов API:
Каждый раз, когда эти функции будут возвращать ответ, который вам необходимо будет проанализировать / проверить / проверить вручную.
AWS довольно хорош в их документации, так что определенно проверьте это. Это может показаться ошеломляющим, но в начале вы можете легко скопировать и вставить систему запросов, которую они предоставляют в документах, а затем удалить ненужные части и т. Д. c. Хотя boto3
очень полезно для автозаполнения / предложений, но есть проект, который может помочь с этим mypy_boto3_builder и его предшественниками mypy_boto3 , boto3_type_annotations .
Если что-то идет не так, т.е. вы не указали некоторые параметры правильно, их ответы об ошибках довольно хороши и полезны.
Вот пример того, как вы можете перечислить все существующие сканеры
import boto3
from pprint import pprint
client = boto3.client('glue')
response = client.list_crawlers()
available_crawlers = response["CrawlerNames"]
for crawler_name in available_crawlers:
response = client.get_crawler(Name=crawler_name)
pprint(response)
Предполагая, что в IAM у вас есть AWSGlueServiceRoleDefault
со всеми необходимыми разрешениями для сканера клея, вот как вы можете его создать:
response = client.create_crawler(
Name='my-crawler-via-api',
Role='AWSGlueServiceRoleDefault',
Description='Crawler generated with Python API', # optional
Targets={
'S3Targets': [
{
'Path': 's3://some/path/in/s3/bucket',
},
],
},
)