Сервисы Adobe PDF: загадочные (бессмысленные?) сообщения об ошибках

Я пытаюсь использовать Adobe PDF Services для извлечения текста из PDF-файлов отчетов компании и получаю следующее общее сообщение об ошибке для некоторых из них:

          raise SdkException("Request could not be completed. Possible cause attached!", sys.exc_info())
adobe.pdfservices.operation.exception.exceptions.SdkException: description =Request could not be completed. Possible cause attached!, requestTrackingId=(<class 'requests.exceptions.ConnectionError'>, ConnectionError(ProtocolError('Connection aborted.', timeout('The write operation timed out'))), <traceback object at 0x10455d540>)

Это не проблема сети, потому что:

  1. Я успешно извлек текст из 6 других файлов одновременно
  2. Я пробовал несколько раз с каждым ошибочным файлом

Файлы не повреждены, потому что я могу просматривать их локально.

Код Python, который я запускаю, генерируется учетной записью службы Adobe и загружается в локальную папку: изменяется только имя входного файла.

Я использую пробную учетную запись и использовал только 20% своей квоты, так что это тоже не ошибка квоты.

Список ошибочных файлов:

  1. https://www.asahigroup-holdings.com/en/ir/pdf/annual/2019_all.pdf
  2. https://www.csx.com/share/wwwcsx15/assets/File/Responsibility/CSX_ESG_Report_Final_7_30.pdf
  3. https://online.flippingbook.com/view/459148139/ (скачать оттуда)

Может ли кто-нибудь (возможно, сотрудники Adobe) дать какую-либо информацию / совет по общему сообщению об ошибке, чтобы я мог попытаться исправить проблему?

1 ответ

Я протестировал файлы в своей среде Node.js, и они работают нормально. Я рад поделиться результатом с вами, если вы хотите. Похоже, ошибка связана с тайм-аутом, который, как я подозреваю, связан с размером файла, который на самом деле не так уж велик.

Попробуйте использовать образец, который позволяет вам устанавливать собственные тайм-ауты. Полный образец находится здесь, но соответствующий код приведен ниже.

      # Initial setup, create credentials instance.
credentials = Credentials.service_account_credentials_builder()\
    .from_file(base_path + "/pdfservices-api-credentials.json") \
    .build()

# Create client config instance with custom time-outs.
client_config = ClientConfig.builder().with_connect_timeout(10000).with_read_timeout(40000).build()

#Create an ExecutionContext using credentials and create a new operation instance.
execution_context = ExecutionContext.create(credentials, client_config)
Другие вопросы по тегам