本页面介绍如何将对象上传到 Cloud Storage 存储分区。上传的对象包含要存储的数据以及所有关联元数据。如需查看概念性概览,请参阅上传和下载。
控制台
- 在 Google Cloud Console 中打开 Cloud Storage 浏览器。
打开 Cloud Storage 浏览器 在存储分区列表中,点击要将对象上传到的存储分区的名称。
在存储分区的对象标签页中,执行以下任一操作:
将所需文件从桌面或文件管理器拖放到 Cloud Console 的主窗格中。
点击上传文件按钮,在出现的对话框中选择要上传的文件,然后点击打开。
请参阅问题排查,了解如何获取有关 Cloud Storage 浏览器中失败操作的详细错误信息。
gsutil
使用 gsutil cp
命令:
gsutil cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME/
其中:
OBJECT_LOCATION
是对象的本地路径。 例如Desktop/dog.png
。DESTINATION_BUCKET_NAME
是对象要上传到的存储分区的名称。例如my-bucket
。
如果成功,则响应类似如下示例:
Operation completed over 1 objects/58.8 KiB.
代码示例
C++
如需了解详情,请参阅 Cloud Storage C++ API 参考文档。
C#
如需了解详情,请参阅 Cloud Storage C# API 参考文档。
Go
如需了解详情,请参阅 Cloud Storage Go API 参考文档。
Java
如需了解详情,请参阅 Cloud Storage Java API 参考文档。
Node.js
如需了解详情,请参阅 Cloud Storage Node.js API 参考文档。
如需详细了解如何上传数据流、字符串或缓冲区,请参阅 File.save()。PHP
如需了解详情,请参阅 Cloud Storage PHP API 参考文档。
Python
如需了解详情,请参阅 Cloud Storage Python API 参考文档。
使用 Blob.upload_from_file()、Blob.upload_from_filename() 或 Blob.upload_from_string() 方法上传对象。Ruby
如需了解详情,请参阅 Cloud Storage Ruby API 参考文档。
REST API
JSON API
不含对象元数据的单一请求上传
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
使用
cURL
,通过POST
Object 请求调用 JSON API:curl -X POST --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
其中:
OBJECT_LOCATION
是对象的本地路径。例如Desktop/dog.png
。OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌。OBJECT_CONTENT_TYPE
是该对象的内容类型,例如image/png
。BUCKET_NAME
是对象要上传到的存储分区的名称。例如my-bucket
。OBJECT_NAME
是您要为对象指定的名称。例如pets/dog.png
。
包含对象元数据的单一请求上传
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
创建一个包含以下信息的
multipart/related
文件:--BOUNDARY_STRING Content-Type: application/json; charset=UTF-8 OBJECT_METADATA --BOUNDARY_STRING Content-Type: OBJECT_CONTENT_TYPE OBJECT_DATA --BOUNDARY_STRING--
其中:
BOUNDARY_STRING
是您定义的一个字符串,用于标识多部分文件的不同部分。例如my-boundary
。OBJECT_METADATA
是您要包含的文件元数据(采用 JSON 格式)。此部分至少应包含对象的name
特性,例如{"name": "myObject"}
。OBJECT_CONTENT_TYPE
是该对象的内容类型,例如image/png
。OBJECT_DATA
是对象的数据。
使用
cURL
,通过POST
Object 请求调用 JSON API:curl -X POST --data-binary @MULTIPART_FILE_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: multipart/related; boundary=BOUNDARY_STRING" \ -H "Content-Length: MULTIPART_FILE_SIZE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=multipart"
其中:
MULTIPART_FILE_LOCATION
是您在第 2 步中创建的多部分文件的本地路径。例如Desktop/my-upload.multipart
。OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌。BOUNDARY_STRING
是您在第 2 步中定义的边界字符串。例如my-boundary
。MULTIPART_FILE_SIZE
是您在第 2 步中创建的多部分文件的总大小(以字节为单位)。例如2000000
。BUCKET_NAME
是对象要上传到的存储分区的名称。例如my-bucket
。
如果请求成功,服务器将返回 HTTP 200 OK
状态代码以及文件的元数据。
XML API
- 从 OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
使用
cURL
,通过PUT
Object 请求调用 XML API:curl -X PUT --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
其中:
OBJECT_LOCATION
是对象的本地路径。例如Desktop/dog.png
。OAUTH2_TOKEN
是您在第 1 步中生成的访问令牌。OBJECT_CONTENT_TYPE
是该对象的内容类型,例如image/png
。BUCKET_NAME
是对象要上传到的存储分区的名称。例如my-bucket
。OBJECT_NAME
是您要为对象指定的名称。例如pets/dog.png
。
后续步骤
- 阅读有关上传和下载的概念性概览。
- 了解对象的命名要求。
- 从 Compute Engine 实例转移对象。
- 使您的数据可被公开访问。
- 查看和修改对象元数据。
- 控制哪些人可以访问您的对象和存储分区。