Я пытаюсь создать HTTP API в облачной функции, которая в конечном итоге опубликовала сообщение t PubSub.Понял, что есть REST API PubSub - но он заставил меня настроить аутентификацию (на стороне клиента) - что я хотел бы пропустить и переместить его на сторону сервера.
Ниже код развернут как GoogleОблачная функция с этой командой gcloud functions deploy helloGET --runtime nodejs8 --trigger-http
Но при тестировании в браузере она выводится с ошибкой Error: could not handle the request
Любое предложение приветствуется, спасибо!
"use strict";
// [START functions_pubsub_setup]
const { PubSub } = require("@google-cloud/pubsub");
// Instantiates a client
const pubsub = new PubSub();
// [END functions_pubsub_setup]
const Buffer = require("safe-buffer").Buffer;
exports.helloGET = (req, res) => {
const topic = pubsub.topic("projects/myproject/topics/openit");
const message = {
data: {
message: "req.body.message"
}
};
// Publishes a message
res.send(
topic
.publish(message)
.then(() => res.status(200).send("Message published."))
.catch(err => {
err = `Catch block ... ${err}`;
console.error(err);
res.status(500).send(err);
return Promise.reject(err);
})
);
};