Как есть, изменив инициализацию переменной 'logging' на, заменив YOUR_PROJECT_ID идентификатором проекта, в котором была создана эта облачная функция:
const logging = new (require('@googlecloud/logging')).Logging({projectId:'YOUR_PROJECT_ID'});
Это должно работать.
Вы можете изменить код несколькими способами, но в зависимости от того, что вы разместили здесь, будет новая версия (просто измените переменную projectId соответственно):
const google_cloud_logging = require('@google-cloud/logging');
function reportError(err, context = {}) {
const logName = 'errors';
const projectId = '';
const logging = new google_cloud_logging.Logging({projectId: projectId});
const log = logging.log(logName);
// https://cloud.google.com/logging/docs/api/ref_v2beta1/rest/v2beta1/MonitoredResource
const metadata = {
resource: {
type: 'cloud_function',
labels: {function_name: process.env.FUNCTION_NAME},
},
};
// https://cloud.google.com/error-reporting/reference/rest/v1beta1/ErrorEvent
const errorEvent = {
message: err.stack,
serviceContext: {
service: process.env.FUNCTION_NAME,
resourceType: 'cloud_function',
},
context: context,
};
// Write the error log entry
return new Promise((resolve, reject) => {
log.write(log.entry(metadata, errorEvent), (error) => {
if (error) {
return reject(error);
}
return resolve();
});
});
}
// [END reporterror]
Эти изменения были основаны на следующем примере .