Openwhisk: запрос слишком большой - PullRequest
0 голосов
/ 06 мая 2018

У меня есть локальная докерская установка Apache Openwhisk (https://github.com/apache/incubator-openwhisk-devtools),, и когда я пытаюсь создать действие из zip-файла, содержащего упакованное приложение nodejs с

wsk -i action create test --kind nodejs:6 test.zip -v

Я получаю следующий ответ:

413 Запрос слишком большой.

Размер test.zip составляет всего 5 МБ. Что вызывает эту проблему? Есть ли способ заставить openwhisk обрабатывать большие запросы?

UPD: содержимое test.zip создается из проекта nodejs, который имеет только 1 .js и имеет простую функциональность для потребителя темы kafka.

function main(params) {
  var kafka = require('kafka-node');
  var HighLevelConsumer = kafka.HighLevelConsumer;
  var Client = kafka.Client;

  if (!(params && params.host)) {
    return {error: 'host is required'};
  }
  if (!(params && params.port)) {
    return {error: 'port is required'};
  }
  if (!(params && params.topic)) {
    return {error: 'topic is required'};
  }
  var host = params.host;
  var port = params.port;
  var topic = params.topic;
  var client = new Client(`${host}:${port}`);
  var topics = [{
    topic: topic
  }];

  var options = {
    autoCommit: true,
    fetchMaxWaitMs: 1000,
    fetchMaxBytes: 1024 * 1024,
    encoding: 'utf8'
  };
  var consumer = new HighLevelConsumer(client, topics, options);

  consumer.on('message', function(message) {
    console.log(message.value);
  });

  consumer.on('error', function(err) {
    console.log('error', err);
  });

  process.on('SIGINT', function() {
    consumer.close(true, function() {
      process.exit();
    });
  });
}

exports.main = main;

И package.json выглядит следующим образом:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "test.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node test.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "kafka-node": "^2.6.1"
  }
}

Это работает правильно, если я просто запускаю его с npm start .

1 Ответ

0 голосов
/ 14 мая 2018

Похоже, что прокси-сервер NGINX, используемый для предоставления интерфейса API для платформы OpenWhisk, по умолчанию имеет небольшое значение для максимального размера тела запроса.

Мне удалось воспроизвести проблему локально, все, что выше 512 КБ, возвращает эту ошибку.

Я открыл заявку, чтобы узнать, можно ли увеличить лимит по умолчанию: https://github.com/apache/incubator-openwhisk-devtools/issues/124

...