首页 > 解决方案 > 如何在 Node.js 中使用 gs:// URI 从 Google Cloud Storage 下载对象?

问题描述

我有gs://Google Cloud Storage 中对象的字符串 URI(有关 URI 含义的解释,请参阅此问题gs://)。如何使用 Node.js 下载这些对象?文档仅包含带有存储桶名称和文件路径的示例:

const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');

const file = myBucket.file('my-file');

我可以file直接从gs://URI(作为字符串传递)创建一个,还是需要手动将 URI 解析为存储桶名称和文件路径?

标签: javascriptgoogle-cloud-storage

解决方案


您正在寻找的是使用对象 URI 从 Cloud Storage 获取文件,即gs://bucket_name/file_name. 答案是不可能完成您正在寻找的任务。此外,NodeJS 中 Cloud Storage 的官方客户端库没有提供任何这样的方法来做到这一点。因此,您必须解析对象 URI 并首先使用存储客户端获取存储桶,然后使用存储桶获取此处或此github存储库中提到的对象。


推荐阅读