如何使用NodeJS列出GCS存储桶中的目录
如果您使用的是NodeJS GCS客户端库,并希望列出您的存储桶中的目录,那么您如何执行此操作?
首先通过运行以下命令将NodeJS GCS客户端库的依赖关系添加到您的package.json
文件中:
npm -i @google-cloud/storage --save
然后将其添加到您的代码中以列出所有文件 :
const storage = require('@google-cloud/storage'); ... const projectId = '<<<<<your-project-id-here>>>>>'; const gcs = storage({ projectId: projectId }); let bucketName = '<<<<<your-bucket-name-here>>>>>'; let bucket = gcs.bucket(bucketName); bucket.getFiles({}, (err, files,apires) => {console.log(err,files,apires)});
这将返回具有完整path的所有文件到files
。
要仅列出目录,您必须在客户端库中解决一个问题,要求您不使用自动分页,然后向CB返回一个额外的参数。 为此,请将代码更改为:
let cb=(err, files,next,apires) => { console.log(err,files,apires); if(!!next) { bucket.getFiles(next,cb); } } bucket.getFiles({delimiter:'/', autoPaginate:false}, cb);
这将返回根path下的目录列表,尾随/
在apires.prefixes
。
要仅列出foo/
目录下的目录,请使用以下代码:
let cb=(err, files,next,apires) => { console.log(err,files,apires); if(!!next) { bucket.getFiles(next,cb); } } bucket.getFiles({prefix:'foo/', delimiter:'/', autoPaginate:false}, cb);
- Google Cloud Storage签署url – NodeJS
- BigQuery Node.js api创build外部表
- 不能过期使用node.js创build的Google云存储对象的SignedURL
- 更改Google容器引擎群集的权限
- 如何从服务器上的客户端JavaScript上载到Google云端存储?
- Google Cloud Storage(Js),asynchronous/等待和云function错误
- 通过GAE托pipe的node.js express服务器上传大文件
- 如何使用Node.js将base64编码图像(string)直接上传到Google Cloud Storage存储桶?
- Google云端存储似乎忽略了客户提供的encryption密钥标头