我有一个基于docker的Apache Openwhisk(https://github.com/apache/incubator-openwhisk-devtools)的本地设置,当我尝试从包含带有
的打包nodejs应用程序的zip创建一个动作时wsk -i action create test --kind nodejs:6 test.zip -v
我收到以下回复:
413请求实体太大
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 运行它,它就能正常工作。
答案 0 :(得分:1)
看起来用于公开OpenWhisk平台的API接口的NGINX代理默认为最大请求体大小的小值。
我已设法在本地重新生成问题,任何超过512KB的内容都会返回该错误。
我打开了一张票,看看是否可以增加默认限额:https://github.com/apache/incubator-openwhisk-devtools/issues/124