Проблема с переписыванием политики при использовании обходчика клея AWS

#amazon-web-services #web-crawler #boto3 #aws-glue

Вопрос:

Я создаю искатель клея AWS с помощью API, я уже создал искатель, и он работает нормально. Теперь я хочу внедрить в него функцию инкрементного краулера. Когда я пытаюсь задать параметр Recrawler для update_crawler (), он выдает мне ошибку. То же самое происходит и с create_crawler ().

микод

 `crawler_args = {"Name": args['CRAWLER_NAME'], "Role": args['IAM_ROLE'], "DatabaseName": args['DB_NAME'],"RecrawlPolicy": {"RecrawlBehavior": "CRAWL_NEW_FOLDERS_ONLY"}
                "Targets":
                    {"S3Targets": [{"Path": f"s3:/../{src_obj}/"}]},
                "TablePrefix": ""}
    glue.create_crawler(**crawler_args)`
 

«Проверка параметров не удалась:
Неизвестный параметр во входных данных: «RecrawlPolicy», должен быть одним из: Имя, Роль, Имя базы данных, Описание, Цели, Расписание, Классификаторы, TablePrefix, SchemaChangePolicy, Конфигурация, Конфигурация безопасности обхода»

Я считаю, что это из-за версии boto3, которую я использую, если это так, как обновить boto3 до последней версии.

Комментарии:

1. Можете ли вы предоставить свой код?

2. пожалуйста, найдите мой код

3. Похоже, что вы пропускаете запятую после вашей политики переписывания, возможно ли это?

Ответ №1:

Похоже, вам не хватает запятой, не могли бы вы попробовать:

 crawler_args = {"Name": args['CRAWLER_NAME'], "Role": args['IAM_ROLE'], "DatabaseName": args['DB_NAME'],"RecrawlPolicy": {"RecrawlBehavior": "CRAWL_NEW_FOLDERS_ONLY"},
                "Targets":
                    {"S3Targets": [{"Path": f"s3:/../{src_obj}/"}]},
                "TablePrefix": ""}