PyCryptodome альтернатива для Jython

Вы можете получить реальные данные из объекта objectURL , а не просто blob, изменив responseType на "text" или "arraybuffer".

Вот назад из text/javascript в blob - objectURL обратно в blob или text/javascript.

, если вам интересно, я используя его для создания веб-рабочего без внешних файлов , вы можете использовать его для возврата двоичного содержимого, например видео на YouTube;) (из атрибута ресурса & lt; video & gt;)

var blob = new Blob(['self.onmessage=function(e){postMessage(e)}'],{type: 'text/javascript'});   //->console: (object)   Blob {size: 42, type: "text/javascript", slice: function}

var obju = URL.createObjectURL(js_blob); //->console:  "blob:http%3A//stackoverflow.com/02e79c2b-025a-4293-be0f-f121dd57ccf7"

var xhr = new XMLHttpRequest();
xhr.open('GET', 'blob:http%3A//stackoverflow.com/02e79c2b-025a-4293-be0f-f121dd57ccf7', true);
xhr.responseType = 'text'; /* or "blob" */
xhr.onreadystatechange = function(){
  if(xhr.DONE !== xhr.readyState) return;

  console.log(xhr.response);
}
xhr.send();

/*
  responseType "blob" ->console: (object)   Blob {size: 42, type: "text/javascript", slice: function}
  responseType "text" ->console: (text)     'self.onmessage=function(e){postMessage(e)}'
*/
-1
задан jordi 27 February 2019 в 15:05
поделиться

1 ответ

Дело не в том, что NiFi не поддерживает собственные модули Python как таковые, скорее это движок Jython, который мы используем в NiFi (так как NiFi - это чистая реализация Java), который не поддерживает его. Если у вас есть интерпретатор Python на узле (ах), на котором работает NiFi, вы можете использовать ExecuteStreamCommand для оболочки на Python, используя свой скрипт (с собственным импортом), вы получите содержимое файла потока как stdin и Вы должны написать свою логику шифрования / дешифрования для вывода в stdout, который станет содержимым файла исходящего потока.

Я изучаю процессор Py4J, чтобы мы могли обойти ограничение Jython для собственных модулей, но вам все равно придется принести свой собственный Python (BYOP). На данный момент, пока вы не хотите делать что-то более сложное, чем получение содержимого потокового файла и выписка содержимого потокового файла, ExecuteStreamCommand должен выполнить свою задачу.

0
ответ дан mattyb 27 February 2019 в 15:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: