Процессор с 5 S3, присутствующий в NiFi, не может создать Minio Bucket.
- ListS3
- PutS3Object
- DeleteS3Object
- FetchS3Object
- TagS3Object
Поэтому я попытался использовать процессор ExecuteScript и импортировать модуль python minio внутри него
Для этого Я установил pip3 на своем компьютере CentOS и сделал pip3 install minio
(он установил его в /usr/local/lib/python3.6/site-packages/
).
Затем в моем ExecuteProcessor я установил следующую конфигурацию:
Script Engine : python
Файл сценария : значение не задано
Тело сценария :
from minio import Minio
from minio.error import (ResponseError, BucketAlreadyOwnedByYou,
BucketAlreadyExists)
minioClient = Minio('minio',
access_key='XXXX',
secret_key='XXXX')
Каталог модулей : /usr/local/lib/python3.6/site-packages/
Но я продолжаю получать эту ошибку
Нет встроенных модулей с именем встроенных в строке номер 1
Полная ошибка:
ExecuteScript [id = 3a3e689a-0170-1000-fa4d-b0874062b8cc] ExecuteScript [id = 3a3e689a-0170-1000-fa4d-b0874062b8cc] не удалось обработать из-за javax.script.ScriptException: ImportError: нет встроенных модулей с именем в строке номер 1; откат сеанса: org. apache .nifi.processor.exception.ProcessException: javax.script.ScriptException: ImportError: нет встроенных модулей с именами в строке 1
Гипотеза 1 :
Из того, что я понимаю, NiFi использует Jython, а затем не может использовать C связанный Python модуль, я не смог найти подтверждение, что minio-py был одним из них, но, похоже, самая важная причина.
я что-то упускаю?