【问题标题】:Is it possible to get project metadata in cloud function?是否可以在云功能中获取项目元数据?
【发布时间】:2018-10-22 11:14:59
【问题描述】:

我想在我的GCP 云函数中的compute engine 中获取项目范围的元数据。这可能吗?

这是我的尝试:

metadata.js:

const request = require('request-promise');

async function getMetaData(attr) {
  const url = `http://metadata.google.internal/computeMetadata/v1/project/attributes/${attr}`;
  const options = {
    headers: {
      'Metadata-Flavor': 'Google'
    }
  };
  return request(url, options)
    .then(response => {
      console.info(`Retrieve meta data successfully. meta data: ${response.body}`);
      return response.body;
    })
    .catch(err => {
      console.error('Retrieve meta data failed.', err);
    });
}

async function retrieveMetaData() {
  return {
    IT_EBOOKS_API: await getMetaData('IT_EBOOKS_API')
  };
}

module.exports = { getMetaData, retrieveMetaData };

云函数index.js

const { retrieveMetaData } = require('./metadata');

async function retrieveComputeMetadata(req, res) {
  const envVars = await retrieveMetaData();
  console.log('envVars: ', envVars);
  res.status(200).json(envVars);
}

exports.retrieveComputeMetadata = retrieveComputeMetadata;

当我测试云功能时,日志显示错误:

Retrieve meta data failed. { StatusCodeError: 404 - "404 page not found\n" at new StatusCodeError (/srv/node_modules/request-promise-core/lib/errors.js:32:15) at ....

似乎找不到url

【问题讨论】:

    标签: google-cloud-platform google-cloud-functions google-compute-engine


    【解决方案1】:

    您要访问“..v1/project/attributes/”的 API 不可用。由于 Cloud Functions 在 GAE 标准上运行,因此有详细信息围绕哪些端点是 available here.

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 2018-04-29
      • 2018-07-08
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 2020-06-12
      • 2022-09-12
      相关资源
      最近更新 更多