使用 Cloud Functions 访问虚拟机
Accessing Virtual Machine using Cloud Functions
我需要使用 Cloud Functions 在 Google Cloud Platform 上重新启动我的 运行 计算机。
有没有什么方法可以使用 Cloud Function 来实现,尽管计算有休息 api 来访问它,但我不太确定它是否可以在 Cloud Functions 上运行?
是的,您可以使用云函数重置 Google 云计算实例。
您可以按照 this link 中提供的步骤创建您的 Cloud Function,index.js 和 package.json 应该如下所示:
index.js
exports.resetting = function resetting() {
var google = require('googleapis');
var compute = google.compute('beta');
authorize(function(authClient) {
var request = {
// Project ID for this request.
project: 'YOUR-PROJECT-ID', // TODO: Update placeholder value.
// The name of the zone for this request.
zone: 'YOUR-INSTANCE-ZONE', // TODO: Update placeholder value.
// Name of the instance scoping this request.
instance: 'YOUR-INSTANCE-NAME', // TODO: Update placeholder value.
auth: authClient,
};
compute.instances.reset(request, function(err, response) {
if (err) {
console.error(err);
return;
}
// TODO: Change code below to process the `response` object:
console.log(JSON.stringify(response, null, 2));
});
});
function authorize(callback) {
google.auth.getApplicationDefault(function(err, authClient) {
if (err) {
console.error('authentication failed: ', err);
return;
}
if (authClient.createScopedRequired && authClient.createScopedRequired()) {
var scopes = ['https://www.googleapis.com/auth/cloud-platform'];
authClient = authClient.createScoped(scopes);
}
callback(authClient);
});
};
}
package.json
{
"name": "googleapis",
"version": "24.0.0",
"dependencies": {"googleapis":"^24.0.0"}
}
在创建 Cloud Function 时您将找到的 "function to execute" 字段中,您需要输入您正在使用的函数的名称,在本例中为 "resetting"
意识到您需要在我提供的 index.js 代码中更改项目、区域和实例的值。
我需要使用 Cloud Functions 在 Google Cloud Platform 上重新启动我的 运行 计算机。
有没有什么方法可以使用 Cloud Function 来实现,尽管计算有休息 api 来访问它,但我不太确定它是否可以在 Cloud Functions 上运行?
是的,您可以使用云函数重置 Google 云计算实例。
您可以按照 this link 中提供的步骤创建您的 Cloud Function,index.js 和 package.json 应该如下所示:
index.js
exports.resetting = function resetting() {
var google = require('googleapis');
var compute = google.compute('beta');
authorize(function(authClient) {
var request = {
// Project ID for this request.
project: 'YOUR-PROJECT-ID', // TODO: Update placeholder value.
// The name of the zone for this request.
zone: 'YOUR-INSTANCE-ZONE', // TODO: Update placeholder value.
// Name of the instance scoping this request.
instance: 'YOUR-INSTANCE-NAME', // TODO: Update placeholder value.
auth: authClient,
};
compute.instances.reset(request, function(err, response) {
if (err) {
console.error(err);
return;
}
// TODO: Change code below to process the `response` object:
console.log(JSON.stringify(response, null, 2));
});
});
function authorize(callback) {
google.auth.getApplicationDefault(function(err, authClient) {
if (err) {
console.error('authentication failed: ', err);
return;
}
if (authClient.createScopedRequired && authClient.createScopedRequired()) {
var scopes = ['https://www.googleapis.com/auth/cloud-platform'];
authClient = authClient.createScoped(scopes);
}
callback(authClient);
});
};
}
package.json
{
"name": "googleapis",
"version": "24.0.0",
"dependencies": {"googleapis":"^24.0.0"}
}
在创建 Cloud Function 时您将找到的 "function to execute" 字段中,您需要输入您正在使用的函数的名称,在本例中为 "resetting"
意识到您需要在我提供的 index.js 代码中更改项目、区域和实例的值。