您可以调用以下两种 REST API 中的任何一种:JSON 或 XML。
要从公共 Google Cloud Storage 存储桶下载文件,请使用 cURL 发出 GET Object 请求以
https://www.googleapis.com/storage/v1/b/<bucket>/o/<object>,其中<bucket> 是您的 Google Cloud Storage 存储桶的名称,<object> 是存储桶中文件的名称。这应该与来自OAuth 2.0的授权访问令牌一起使用
JSON API:
curl -X GET \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ -o "[SAVE_TO_LOCATION]" \ "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media"
XML API:
curl -X GET \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ -o "[SAVE_TO_LOCATION]" \ "https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]"
您可以阅读有关此 API 请求 here 的文档。我们提供了包含多种客户端库/语言(Python API、Node.js、Java)的代码示例,以展示我们如何从 Cloud Storage 中的存储桶下载对象。
请注意,对于多个文件,您必须对请求进行编程,因此如果您想轻松下载存储桶或子目录中的所有对象,最好使用gsutil。同样对于传输,您可能希望使用gsutil -m 选项来执行并行(多线程/多处理)复制:
gsutil -m cp -R gs://your-bucket
如果要复制到特定目录,请注意该目录必须先存在,因为 gsutils 不会自动创建它。
mkdir my-bucket-local-copy && gsutil -m cp -r gs://your-bucket my-bucket-local-copy
下载文件的时间可以显着减少。有关 GCS cp 命令的完整信息,请参阅此Cloud Storage documentation。
另请查看stackoverflow thread,了解我们如何从 Cloud Storage 存储桶下载文件夹。
如果您需要执行经过身份验证的下载,Google Cloud Storage 还支持下载签名 URL。这些 URL 描述了 Google Cloud Storage 上的特定操作,例如下载,并带有时间敏感的签名。任何拥有该 URL 的人都可以在 Google Cloud Storage 上执行指定的操作。它们可以安全地从服务器传递到客户端,但是在使用签名 URL 时,我们必须记住一些 considerations。我们有一些带有client libraries/languages which create signed URLs to download object 的代码示例。