我在浏览器上使用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文件中,我不知道怎么做桶。关于如何解决这个问题的任何建议都会得到很好的解释。
答案 0 :(得分:7)
打开控制台,将dir更改为您的功能项目,然后键入:
npm install --save @google-cloud/storage
仅此而已!