Openwhisk:请求实体太大

Openwhisk: Request Entity Too Large

我有一个基于 docker 的本地 Apache Openwhisk 设置 (https://github.com/apache/incubator-openwhisk-devtools),当我尝试从包含带有

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

我收到以下回复:

413 Request Entity Too Large

test.zip 只有 5 MB 大。是什么导致了这个问题?有没有办法让 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 简单地 运行 它就可以正常工作。

看起来用于公开 OpenWhisk 平台 API 接口的 NGINX 代理默认为最大请求正文大小的较小值。

我已经设法在本地重现该问题,任何超过 512KB returns 的错误。

我已经开了工单,看看是否可以提高默认限额:https://github.com/apache/incubator-openwhisk-devtools/issues/124