我想使用GCP无服务器云函数来备份所有区域的VM磁盘,
基本上-我想用时间戳的快照名备份所有的VM磁盘,比如快照-vm_ name -时间戳。
任何超过14天的备份,删除它。所以这是自助式功能。
这些文档糟透了,没有多大帮助。这就是我能走多远
exports.run_process = (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
console.log(message);
const Compute = require(`@google-cloud/compute`);
const compute = new Compute();
const zone = compute.zone('us-east1-b');
zone.getDisks(function(err, disks) {
// `disks` is an array of `Disk` objects.
disks.map(disk => {
console.log(disk);
});
});
res.status(200).send(message);
};任何帮助或建议都是非常感谢的。
参考链接:https://cloud.google.com/nodejs/docs/reference/compute/0.10.x/Zone
发布于 2018-12-21 12:05:03
您的代码中有一个错误。在其中使用const Compute = require(@google-cloud/compute);语句。而不是“‘”,您必须使用“'”。此外,请记住使用您需要添加依赖项的库。您的package.json应该如下所示:
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"google-cloud": "^0.58.2",
"@google-cloud/compute": "^0.10.0"
}
}接下来的步骤应类似于以下步骤:
creationTimeStamp并以天为单位计算差值var datetime = new Date().toLocaleDateString();获取当前日期,以便将其用作新快照的后缀new_snapshot_name = new_snapshot_name.replace(/\//g, '-');将所有/替换为-以匹配regex '(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)'getDisk(...)方法列出所有磁盘并创建它们的快照我做了一点编码,它对我有用。这个函数完成了你在问题中描述的所有事情。你可以找到我的GitHub中的代码示例
https://stackoverflow.com/questions/53860598
复制相似问题