设置 Google Cloud Storage

您可以使用 Cloud Storage 存储桶存储和传送电影、图片或其他静态内容等文件。本文档介绍如何设置环境以使用适用于 Cloud Storage 的 App Engine 客户端库。

设置项目

创建 Google Cloud 项目,并了解如何在 App Engine 中设计 Go 1.11 应用的结构。请记录并保存项目 ID,以便在您的应用中使用。

激活 Cloud Storage 存储桶

如需使用 Cloud Storage,您至少需要激活一个存储桶。建议使用默认存储桶,它可以免费提供 5 GB 的存储空间。您可以激活并使用其他 Cloud Storage 存储桶。默认存储桶包含前 5GB 的免费存储空间。默认存储桶还包括 Cloud Storage I/O 操作的免费配额。请参阅价格、配额和限制了解详情。

如需为应用激活默认的 Cloud Storage 存储桶,请执行以下操作:

  1. 在项目的 App Engine 设置页面中,点击“默认 Cloud Storage 存储桶”下的创建。请注意此存储桶的名称:其格式为 <project-id>.appspot.com

  2. 如果所需的存储空间超过 5GB 限制,您可以通过为项目启用结算功能来增加存储空间,让其成为付费存储桶。您需要为超过 5GB 限制的存储空间付费。

如果要激活一个或多个付费存储桶,请按照创建存储桶下方的说明将其激活。

设置存储桶和对象权限

您可以在设置存储桶权限设置对象权限中找到有关允许应用的服务账号或其他用户访问存储桶及其内容的信息。

下载客户端库

您可以通过 go 工具使用适用于 Cloud Storage 的 App Engine 客户端库。如需下载该库,请执行以下操作:

  1. 根据需要设置您的 GOPATH。如果您使用的是 Linux 和 macOS,则可以按如下方式设置 GOPATH

    mkdir -p $HOME/go
    export GOPATH=$HOME/go
  2. 下载 oauth2storageappengine 软件包:

    go get -u golang.org/x/oauth2
    go get -u cloud.google.com/go/storage
    go get -u google.golang.org/appengine/...
如需详细了解如何安装该客户端库,请参阅 Cloud Storage 客户端库页面。

将客户端库与开发应用服务器搭配使用

您可以将客户端库与开发服务器搭配使用。但由于没有 Cloud Storage 的本地模拟,因此所有读取和写入文件的请求必须通过互联网发送到实际的 Cloud Storage 存储桶。

如需将客户端库与开发应用服务器搭配使用,请执行以下操作:

  1. 激活 Cloud Storage 存储桶

  2. 使用 --default_gcs_bucket_name [BUCKET_NAME] 标志运行 dev_appserver.py,并将 [BUCKET_NAME] 替换为正在使用的 Cloud Storage 存储桶的名称。

    此标志可控制在应用调用 file.DefaultBucketName(ctx) 时返回的存储桶。

价格、配额和限制

通过 App Engine 的客户端库调用 Cloud Storage 不会产生任何带宽费用。不过,此操作会产生操作费用。此外,由于该客户端库使用 URL Fetch 服务与 Cloud Storage 进行交互,因此这些调用将计入 URL Fetch 配额

请注意,Cloud Storage 是付费使用服务;您需要按照 Cloud Storage 价格表支付费用。

访问 Cloud Storage 的其他方式

除了客户端库,您还可使用以下方式:

  • Google Cloud 控制台中的 Cloud Storage 浏览器,可用于快速上传对象。
  • gsutil,它是一款命令行工具,用于处理 Cloud Storage 中存储的文件。

后续步骤