Не удалось развернуть функцию
Я создал демонстрационный демонстрационный сайт и пытаюсь выполнить развертывание с использованием развертывания без сервера на платформе IBM Openwhisk. Я получаю следующее сообщение об ошибке и не могу понять, что является причиной проблемы.
Не удалось развернуть функцию (myPackage) из-за ошибки: PUT https://api.ng.bluemix.net/api/v1/namespaces/_/actions/myPackage?overwrite=true Возвращенный HTTP 500 (внутренняя ошибка сервера) -> "Сообщение об ошибке ответа отсутствует".
Мой код handler.js
const serverless = require("serverless-http");
const hbs = require("hbs");
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
app.set("view engine", "hbs");
app.get("/", function(req, res) {
res.status(200).render("index");
});
module.exports.openwhisksauce= serverless(app);
мой код serverless.yml:
service: openwhisksauce
provider:
name: openwhisk
runtime: nodejs:10.3.0
functions:
app:
handler: handler.openwhisksauce
# The `events` block defines how to trigger the http events
name: "myPackage"
events:
- http: ANY /
- http: 'ANY {proxy+}'
# remember to run npm install to download the provider plugin.
plugins:
- serverless-openwhisk
1 ответ
Есть ряд проблем, мешающих этой работе.
runtime: nodejs:10.3.0
IBM Cloud Functions не поддерживает эту среду выполнения. использованиеnodejs:8
,- http: ANY /
IBM Cloud Functions API Gateway не поддерживаетANY
метод. Заменить действительным HTTP-глаголом.https://github.com/dougmoscrop/serverless-http предполагает работу на AWS Lambda и использует специфичные для AWS свойства времени выполнения и события. Это не будет работать в IBM Cloud Functions.
Существует другой проект по запуску приложений Express.js в IBM Cloud Functions. Смотрите этот репо для деталей...