Как вызвать GCP Datastore из облачной функции GCP?

Вот стартовый код, предоставляемый с новой облачной функцией GCP:

/**
 * Responds to any HTTP request that can provide a "message" field in the body.
 *
 * @param {!Object} req Cloud Function request context.
 * @param {!Object} res Cloud Function response context.
 */
exports.helloWorld = function helloWorld(req, res) {
  // Example input: {"message": "Hello!"}
  if (req.body.message === undefined) {
    // This is an error case, as "message" is required.
    res.status(400).send('No message defined!');
  } else {
    // Everything is okay.
    console.log(req.body.message);
    res.status(200).send('Success: ' + req.body.message);
  }
};

... и package.json:

{
  "name": "sample-http",
  "version": "0.0.1"
}

Здесь вы найдете базовый пример вызова DataStore.

2 ответа

Я не пользователь Node.js, но, основываясь на документации, я думаю, что одним из удобных способов было бы использовать клиентскую библиотеку облачного хранилища данных Node.js. Пример с этой страницы:

// Imports the Google Cloud client library
const Datastore = require('@google-cloud/datastore');

// Your Google Cloud Platform project ID
const projectId = 'YOUR_PROJECT_ID';

// Instantiates a client
const datastore = Datastore({
  projectId: projectId
});

// The kind for the new entity
const kind = 'Task';
// The name/ID for the new entity
const name = 'sampletask1';
// The Cloud Datastore key for the new entity
const taskKey = datastore.key([kind, name]);

// Prepares the new entity
const task = {
  key: taskKey,
  data: {
    description: 'Buy milk'
  }
};

// Saves the entity
datastore.save(task)
  .then(() => {
    console.log(`Saved ${task.key.name}: ${task.data.description}`);
  })
  .catch((err) => {
    console.error('ERROR:', err);
  });

Но вы также можете взглянуть на объяснения клиентских библиотек, так как они описывают или указывают на подробные страницы о других опциях, некоторые из которых могут оказаться предпочтительными.

Вам нужно включить зависимость DataStore в package.json

{
  "name": "sample-http",
    "dependencies": {
    "@google-cloud/datastore": "1.3.4"
    },
  "version": "0.0.1"
}

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