No results found
We couldn't find anything using that term, please try searching for something else.
本页面介绍如何将对象从本地文件系统上传到 Cloud Storage 存储桶。上传的对象包含要存储的数据以及所有关联元数据。如需查看概念性概览(包括如何根据文件大小选择最佳上传方法),请参阅上传和下载。 如需了解如何从内存上传,请参阅从内存上传对象。 所需的角色 如需获得将对象上传到存储桶所需
本页面介绍如何将对象从本地文件系统上传到 Cloud Storage 存储桶。上传的对象包含要存储的数据以及所有关联元数据。如需查看概念性概览(包括如何根据文件大小选择最佳上传方法),请参阅上传和下载。
如需了解如何从内存上传,请参阅从内存上传对象。
如需获得将对象上传到存储桶所需的权限,请让您的管理员为您授予存储桶的 Storage Object User (roles/storage.objectUser
) IAM 角色。此预定义角色可提供将对象上传到存储桶所需的权限。如需查看所需的确切权限,请展开所需权限部分:
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
如果您打算使用 Google Cloud 控制台执行本页面上的任务,则还需要 storage.buckets.list
权限,Storage Object User (roles/storage.objectUser
) 角色不提供此权限。如需获得此权限,请让您的管理员为您授予项目的 Storage Admin (roles/storage.admin
) 角色。
您也可以使用其他预定义角色或自定义角色来获得这些权限。
如需了解如何授予存储桶的角色,请参阅将 IAM 与存储桶搭配使用。
如需将对象上传到存储桶,请完成以下步骤:
进入“存储桶”
在存储桶列表中,点击要将对象上传到的存储桶的名称。
在存储桶的对象标签页中,执行以下任一操作:
注意:如果您使用的是 Chrome 浏览器,还支持上传文件夹。
如需了解如何在 Google Cloud 控制台中获取失败的 Cloud Storage 操作的详细错误信息,请参阅问题排查。
使用 gcloud storage cp
命令:
gcloud storage cp gs://
其中:
如果成功,则响应类似如下示例:
Completed files 1/1 | 164.3kiB/164.3kiB
您可以使用命令标志在对象上传过程中设置固定键和自定义对象元数据。
JSON API 区分了媒体上传(其中请求中仅包含对象数据)和 JSON API 分段上传(其中对象数据和对象元数据均包含在请求中)之间的区别。
安装并初始化 gcloud CLI,以便为 Authorization
标头生成访问令牌。
或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在 Authorization
标头中。
使用 cURL
,通过 POST
Object 请求调用 JSON API:
curl -X POST --data-binary @ \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: " \ "https://storage.googleapis.com/upload/storage/v1/b//o?uploadType=media&name="
其中:
是对象的本地路径。例如 Desktop/dog.png
。
是该对象的内容类型,例如 image/png
。
是对象要上传到的存储桶的名称。例如 my-bucket
。
是您要为对象指定的网址编码名称。例如,pets/dog.png
的网址编码为 pets%2Fdog.png
。安装并初始化 gcloud CLI,以便为 Authorization
标头生成访问令牌。
或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在 Authorization
标头中。
创建一个包含以下信息的 multipart/related
文件:
-- Content-Type: application/json; charset=UTF-8 -- Content-Type: ----
其中:
是您定义的一个字符串,用于标识多部分文件的不同部分。例如 separator_string
。
是您要包含的文件元数据(采用 JSON 格式)。此部分至少应包含对象的 name
特性,例如 {"name": "myObject"}
。
是该对象的内容类型,例如 text/plain
。
是对象的数据。例如:
--separator_string Content-Type: application/json; charset=UTF-8 {"name":"my-document.txt"} --separator_string Content-Type: text/plain This is a text file. --separator_string--
使用 cURL
,通过 POST
Object 请求调用 JSON API:
curl -X POST --data-binary @ \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: multipart/related; boundary=" \ -H "Content-Length: " \ "https://storage.googleapis.com/upload/storage/v1/b//o?uploadType=multipart"
其中:
是您在第 2 步中创建的多部分文件的本地路径。例如 Desktop/my-upload.multipart
。
是您在第 2 步中定义的边界字符串。例如 my-boundary
。
是您在第 2 步中创建的多部分文件的总大小(以字节为单位)。例如 2000000
。
是对象要上传到的存储桶的名称。例如 my-bucket
。如果请求成功,服务器将返回 HTTP 200 OK
状态代码以及文件的元数据。
安装并初始化 gcloud CLI,以便为 Authorization
标头生成访问令牌。
或者,您可以使用 OAuth 2.0 Playground 创建访问令牌,并将其包含在 Authorization
标头中。
使用 cURL
,通过 PUT
Object 请求调用 XML API:
curl -X PUT --data-binary @ \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: " \ "https://storage.googleapis.com//"
其中:
是对象的本地路径。例如 Desktop/dog.png
。
是该对象的内容类型,例如 image/png
。
是对象要上传到的存储桶的名称。例如 my-bucket
。
是您要为对象指定的网址编码名称。例如,pets/dog.png
的网址编码为 pets%2Fdog.png
。在请求标头中上传对象时,您可以按照前面的示例设置 Content-Type
的相同方式设置其他对象元数据。使用 XML API 时,您只能在写入对象时(例如上传、复制或替换对象时)设置元数据。如需了解详情,请参阅修改对象元数据。
如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud Storage 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
免费试用 Cloud Storage