Не удалось развернуть функцию

Я создал демонстрационный демонстрационный сайт и пытаюсь выполнить развертывание с использованием развертывания без сервера на платформе 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. Смотрите этот репо для деталей...

https://github.com/IBM/expressjs-openwhisk

Другие вопросы по тегам