我在浏览器上使用GCP控制台。我创建了一个函数,如下所示:

function listFiles(bucketName) {
  // [START storage_list_files]
  // Imports the Google Cloud client library
  const Storage = require('@google-cloud/storage');

  // Creates a client
  const storage = new Storage();


  storage
.bucket(bucketName)
.getFiles()
.then(results => {
  const files = results[0];

  console.log('Files:');
  files.forEach(file => {
    console.log(file.name);
  });
})
.catch(err => {
  console.error('ERROR:', err);
    });
  // [END storage_list_files]
}

exports.helloWorld = function helloWorld (req, res) {
  if (req.body.message === undefined) {
    // This is an error case, as "message" is required
    res.status(400).send('No message defined!');
  }
  else {
    // Everything is ok
    console.log(req.body.lat);
    console.log(req.body.lon);
    listFiles("drive-test-demo");
    res.status(200).end();
  }
}


从字面上看,如果要通过某个HTTPS触发器,我现在要做的就是列出存储桶中的文件。

我的package.json文件如下:

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

}


我收到错误消息“找不到模块'@ google-cloud / storage'”

到目前为止,我所看到的大多数查询都已经通过使用npm install解决了,但是考虑到我的index.js和package.json文件存储在gcloud存储桶中的zip文件中,我不知道该怎么做。关于如何解决此问题的任何建议将不胜感激。

最佳答案

打开控制台,将dir更改为您的功能项目,然后键入:

npm install --save @google-cloud/storage


就这样!

10-07 15:37