使用 gsutil 工具发现对象存储空间
本页面介绍了如何使用 gsutil 命令行工具执行 Cloud Storage 中的基本任务。
Cloud Storage 将按您使用的资源向您收费。在本快速入门中,所使用 Cloud Storage 资源的价值通常不到 $0.01 USD。
准备工作
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,点击创建项目以开始创建新的 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能。
-
在 Google Cloud Console 中的项目选择器页面上,点击创建项目以开始创建新的 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能。
- 安装 gcloud CLI。
出现提示时,请选择您在上面创建的项目。
- 安装 Python 3.8。
如果您使用的是 Windows,并且在安装 gcloud CLI 时保留选中了相关复选框,则系统会自动完成此操作。
创建存储桶
存储分区是 Cloud Storage 中用于存放数据的基本容器。
要创建存储分区,请执行以下操作:
- 打开一个终端窗口。
使用
gsutil mb
命令创建存储分区并为其指定一个唯一的名称:gsutil mb -b on -l us-east1 gs://my-awesome-bucket/
在上述命令中,使用了名为“my-awesome-bucket”的存储分区。您必须选择您自己的全局唯一存储分区名称。
如果成功,此命令会返回以下内容:
Creating gs://my-awesome-bucket/...
您刚刚创建了一个存储分区,现在可以在其中存储您的数据了!
Creating gs://my-awesome-bucket/... ServiceException: 409 Bucket my-awesome-bucket already exists.
请使用其他存储分区名称重试。
将对象上传到存储桶
右键点击上面的图片并将其保存到计算机上的某个位置(例如桌面上)。
使用
gsutil cp
命令将该图片从保存位置复制到您创建的存储分区中:gsutil cp Desktop/kitten.png gs://my-awesome-bucket
如果成功,此命令会返回以下内容:
Copying file://Desktop/kitten.png [Content-Type=image/png]... Uploading gs://my-awesome-bucket/kitten.png: 0 B/164.3 KiB Uploading gs://my-awesome-bucket/kitten.png: 164.3 KiB/164.3 KiB
您刚刚在存储分区中存储了一个对象。
从存储分区下载对象
使用
gsutil cp
命令将存储在存储分区中的图片下载到计算机上的某个位置(例如桌面上):gsutil cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png
如果成功,此命令会返回以下内容:
Copying gs://my-awesome-bucket/kitten.png... Downloading file://Desktop/kitten2.png: 0 B/164.3 KiB Downloading file://Desktop/kitten2.png: 164.3 KiB/164.3 KiB
您刚刚从存储分区中下载了某个内容。
将对象复制到存储分区中的文件夹
使用
gsutil cp
命令创建文件夹并将该图片复制到该文件夹中:gsutil cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png
如果成功,此命令会返回以下内容:
Copying gs://my-awesome-bucket/kitten.png [Content-Type=image/png]... Copying ...my-awesome-bucket/just-a-folder/kitten3.png: 164.3 KiB/164.3 KiB
您刚刚将图片复制到存储分区内的新文件夹中。
列出存储分区或文件夹的内容
使用
gsutil ls
命令列出存储分区顶层的内容:gsutil ls gs://my-awesome-bucket
如果成功,该命令将返回类似于以下内容的消息:
gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/
您刚刚看到了存储分区顶层的内容。
列出对象的详细信息
使用
gsutil ls
命令和-l
标志来获取图片之一的一些相关详情:gsutil ls -l gs://my-awesome-bucket/kitten.png
如果成功,该命令将返回类似于以下内容的消息:
2638 2016-02-26T23:05:14Z gs://my-awesome-bucket/kitten.png TOTAL: 1 objects, 168243.2 bytes (164.3 KiB)
您刚刚获得了有关图片大小和创建日期的信息。
将对象设置为可以公开访问的对象
使用
gsutil iam ch
命令向所有用户授予读取您存储分区中存储的图片的权限:gsutil iam ch allUsers:objectViewer gs://my-awesome-bucket
如果未返回错误,则表示此命令已成功执行。
现在,任何人都可以获取您的图片。
如需移除此访问权限,请使用以下命令:
gsutil iam ch -d allUsers:objectViewer gs://my-awesome-bucket
如果未返回错误,则表示此命令已成功执行。
您已移除对您存储分区中图片的公开访问权限。
向某人授予您的存储分区的访问权限
使用
gsutil iam ch
命令向特定电子邮件地址授予存储分区中的对象的读取和写入权限:gsutil iam ch user:jane@gmail.com:objectCreator,objectViewer gs://my-awesome-bucket
如果未返回错误,则表示此命令已成功执行。
现在,别人可以向您的存储分区写入内容,以及查看该存储分区中的内容。
要移除此权限,请使用以下命令:
gsutil iam ch -d user:jane@gmail.com:objectCreator,objectViewer gs://my-awesome-bucket
如果未返回错误,则表示此命令已成功执行。
您已移除用户在此存储分区上的访问权限。
删除对象
使用
gsutil rm
命令删除图片之一:gsutil rm gs://my-awesome-bucket/kitten.png
如果成功,此命令会返回以下内容:
Removing gs://my-awesome-bucket/kitten.png...
图片的这一副本不再存储在 Cloud Storage 中(尽管您在文件夹
just-a-folder/
中创建的副本仍然存在)。
清理
为避免因本页中使用的资源导致您的 Google Cloud 帐号产生费用,请按照以下步骤操作。
- 打开终端窗口(如果尚未打开)。
使用带有
-r
标志的rm command
删除存储分区及存储分区中的所有内容:gsutil rm -r gs://my-awesome-bucket
如果成功,该命令将返回类似于以下内容的消息:
Removing gs://my-awesome-bucket/just-a-folder/cloud-storage.logo.png#1456530077282000... Removing gs://my-awesome-bucket/...
您的存储分区及其内容将被删除。
后续步骤
- 使用 Google Cloud Console 完成 Cloud Storage 快速入门。
- 查看可供您在完成 Cloud Storage 中的任务时使用的指南。
- 了解 Cloud Storage 关键术语。
- 了解 Cloud Storage 价格。
- 请参阅相关参考页面以了解 gsutil 命令,例如创建存储分区 (
mb
)、复制 (cp
)、列出 (ls
)、身份和访问权限管理 (iam
)、移除 (rm
)。