托管静态网站

本教程介绍如何配置 Cloud Storage 存储分区以托管域名归您所有的静态网站。静态网页可以包含 HTML、CSS 和 JavaScript 等客户端技术。静态网页不能包含动态内容,例如 PHP 等服务器端脚本。如需了解静态网页的详情,例如示例和提示,请参阅静态网站页面

本教程还适用于托管动态网站的静态资产。

目标

在本教程中,您将完成以下操作:

  • 使用 CNAME 记录将您的域名指向 Cloud Storage。
  • 创建一个与您的域名相关联的存储分区。
  • 上传和共享您的网站的文件。
  • 测试网站。

费用

本教程使用 Cloud Platform 的以下可计费组件:

  • Cloud Storage

如需详细了解托管静态网站时可能产生的费用,请参阅关于监控存储费用的提示;如需详细了解 Cloud Storage 费用,请参阅价格页面。

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册新帐号

  2. 选择或创建 Google Cloud Platform 项目。

    转到“管理资源”页面

  3. 确保您的 Google Cloud Platform 项目已启用结算功能。

    了解如何启用结算功能

  4. 准备一个归您所有或管理的域名。如果您还没有现成可用的域名,可以通过多项服务注册一个新域名,例如 Google Domains

    本教程使用的域名是 example.com

  5. 确认您是要使用的域名的所有者或管理员。确保您所验证的域名是顶级域名(如 example.com),而不是子域名(如 www.example.com)。

    注意:如果您是要关联到存储分区的域名的所有者,则说明您过去可能已经执行此步骤。如果您的域名是通过 Google Domains 购买的,那么系统会自动进行验证。

创建 CNAME 记录

CNAME 记录是一种 DNS 记录。它会将请求访问您域名中的网址的流量定向到您想要传送的资源(在本例中为 Cloud Storage 存储分区中的对象)。对于 www.example.comCNAME 记录可能包含以下信息:

NAME                  TYPE     DATA
www.example.com       CNAME    c.storage.googleapis.com.

如需详细了解 CNAME 重定向,请参阅适用于 CNAME 别名的 URI

要将您的域名连接到 Cloud Storage,请按如下所述操作:

  1. 创建一条指向 c.storage.googleapis.com.CNAME 记录。

    您使用的域名注册服务应具备供您管理域名(包括添加 CNAME 记录)的方法。例如,如果您使用 Google Domains,则可以访问 Google Domains 帮助页面了解添加 CNAME 记录的说明。

创建存储分区

使用与您为域名创建的 CNAME 相匹配的名称创建一个存储分区。

例如,如果您添加的 CNAME 记录将 www.example.com 指向 c.storage.googleapis.com.,应创建一个名为“www.example.com”的存储分区。

要创建存储分区,请执行以下操作:

Console

  1. 在 Google Cloud Platform Console 中打开 Cloud Storage 浏览器。
    打开 Cloud Storage 浏览器
  2. 点击创建存储分区

  3. 创建存储分区对话框中,指定以下内容:

    • 存储分区的名称

    • 存储分区的存储类别Multi-Regional

    • 存储分区的位置美国

  4. 点击创建

如果成功,系统会将您定向至存储分区的显示有“此存储分区中没有任何对象。”文字的页面。

gsutil

使用 gsutil mb 命令:

gsutil mb gs://www.example.com

如果成功,此命令会返回以下内容:

Creating gs://www.example.com/...

代码示例

C++

如需了解详情,请参阅 Cloud Storage C++ API 参考文档

namespace gcs = google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string bucket_name) {
  StatusOr<gcs::BucketMetadata> bucket_metadata =
      client.CreateBucket(bucket_name, gcs::BucketMetadata());

  if (!bucket_metadata) {
    throw std::runtime_error(bucket_metadata.status().message());
  }

  std::cout << "Bucket " << bucket_metadata->name() << " created."
            << "\nFull Metadata: " << *bucket_metadata << "\n";
}

C#

如需了解详情,请参阅 Cloud Storage C# API 参考文档

private void CreateBucket(string bucketName)
{
    var storage = StorageClient.Create();
    storage.CreateBucket(s_projectId, bucketName);
    Console.WriteLine($"Created {bucketName}.");
}

Go

如需了解详情,请参阅 Cloud Storage Go API 参考文档

bucket := client.Bucket(bucketName)
if err := bucket.Create(ctx, projectID, &storage.BucketAttrs{
	StorageClass: "COLDLINE",
	Location:     "asia",
}); err != nil {
	return err
}

Java

如需了解详情,请参阅 Cloud Storage Java API 参考文档

Bucket bucket =
    storage.create(
        BucketInfo.newBuilder(bucketName)
            // See here for possible values: http://g.co/cloud/storage/docs/storage-classes
            .setStorageClass(StorageClass.COLDLINE)
            // Possible values: http://g.co/cloud/storage/docs/bucket-locations#location-mr
            .setLocation("asia")
            .build());

Node.js

如需了解详情,请参阅 Cloud Storage Node.js API 参考文档

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
 * TODO(developer): Uncomment the following line before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';

// Creates a new bucket in the Asia region with the coldline default storage
// class. Leave the second argument blank for default settings.
//
// For default values see: https://cloud.google.com/storage/docs/locations and
// https://cloud.google.com/storage/docs/storage-classes
await storage.createBucket(bucketName, {
  location: 'ASIA',
  storageClass: 'COLDLINE',
});

console.log(`Bucket ${bucketName} created.`);

PHP

如需了解详情,请参阅 Cloud Storage PHP API 参考文档

use Google\Cloud\Storage\StorageClient;

/**
 * Create a Cloud Storage Bucket.
 *
 * @param string $bucketName name of the bucket to create.
 * @param string $options options for the new bucket.
 *
 * @return Google\Cloud\Storage\Bucket the newly created bucket.
 */
function create_bucket($bucketName, $options = [])
{
    $storage = new StorageClient();
    $bucket = $storage->createBucket($bucketName, $options);
    printf('Bucket created: %s' . PHP_EOL, $bucket->name());
}

Python

如需了解详情,请参阅 Cloud Storage Python API 参考文档

def create_bucket(bucket_name):
    """Creates a new bucket."""
    storage_client = storage.Client()
    bucket = storage_client.create_bucket(bucket_name)
    print('Bucket {} created'.format(bucket.name))

Ruby

如需了解详情,请参阅 Cloud Storage Ruby API 参考文档

# project_id    = "Your Google Cloud project ID"
# bucket_name   = "Name of Google Cloud Storage bucket to create"
# location      = "Location of where to create Cloud Storage bucket"
# storage_class = "Storage class of Cloud Storage bucket"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.create_bucket bucket_name,
                                location:      location,
                                storage_class: storage_class

puts "Created bucket #{bucket.name} in #{location}" +
     " with #{storage_class} class"

REST API

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建一个 .json 文件以为 name 属性指定您的网站名称:
  3. {
    "name": "www.example.com"
    }
  4. 使用 cURL 调用 JSON API。对于 www.example.com:
    curl -X POST --data-binary @website-bucket-name.json \
     -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
     -H "Content-Type: application/json" \
     "https://www.googleapis.com/storage/v1/b?project=my-static-website"

XML API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 使用 cURL 调用 XML API,以使用您的网站名称创建一个存储分区。对于 www.example.com:
    curl -X PUT \
     -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
     -H "x-goog-project-id: my-static-website" \
     "https://storage.googleapis.com/www.example.com"

上传网站的文件

要将您希望网站传送的文件添加到您的存储分区中,请执行以下操作:

Console

  1. 在 Google Cloud Platform Console 中打开 Cloud Storage 浏览器。
    打开 Cloud Storage 浏览器
  2. 在存储分区列表中,点击您创建的存储分区的名称。

  3. 点击对象标签中的上传文件按钮。

  4. 在文件对话框中,浏览至所需文件并将其选中。

上传过程完成后,您应该会在存储分区中看到此文件的名称、大小、类型和上次修改日期。

例如,在 GCP Console 中,包含 index.html404.html 这两个文件的存储分区如下所示:

存储分区网站示例
配置为网站的存储分区示例。

gsutil

使用 gsutil cp 命令将文件复制到您的存储分区。例如,要从文件 index.html 的当前位置 Desktop 复制此文件,请使用以下命令:

gsutil cp Desktop/index.html gs://www.example.com

如果成功,此命令会返回以下内容:

Copying file://Desktop/index.html [Content-Type=text/html]...
Uploading   gs://www.example.com/index.html:       0 B/2.58 KiB
Uploading   gs://www.example.com/index.html:       2.58 KiB/2.58 KiB

代码示例

C++

如需了解详情,请参阅 Cloud Storage C++ API 参考文档

namespace gcs = google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string file_name, std::string bucket_name,
   std::string object_name) {
  // Note that the client library automatically computes a hash on the
  // client-side to verify data integrity during transmission.
  StatusOr<gcs::ObjectMetadata> object_metadata = client.UploadFile(
      file_name, bucket_name, object_name, gcs::IfGenerationMatch(0));

  if (!object_metadata) {
    throw std::runtime_error(object_metadata.status().message());
  }

  std::cout << "Uploaded " << file_name << " to object "
            << object_metadata->name() << " in bucket "
            << object_metadata->bucket()
            << "\nFull metadata: " << *object_metadata << "\n";
}

C#

如需了解详情,请参阅 Cloud Storage C# API 参考文档

private void UploadFile(string bucketName, string localPath,
    string objectName = null)
{
    var storage = StorageClient.Create();
    using (var f = File.OpenRead(localPath))
    {
        objectName = objectName ?? Path.GetFileName(localPath);
        storage.UploadObject(bucketName, objectName, null, f);
        Console.WriteLine($"Uploaded {objectName}.");
    }
}

Go

如需了解详情,请参阅 Cloud Storage Go API 参考文档

f, err := os.Open("notes.txt")
if err != nil {
	return err
}
defer f.Close()

wc := client.Bucket(bucket).Object(object).NewWriter(ctx)
if _, err = io.Copy(wc, f); err != nil {
	return err
}
if err := wc.Close(); err != nil {
	return err
}

Java

如需了解详情,请参阅 Cloud Storage Java API 参考文档

Storage storage = StorageOptions.getDefaultInstance().getService();
BlobId blobId = BlobId.of("bucket", "blob_name");
BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("text/plain").build();
Blob blob = storage.create(blobInfo, "Hello, Cloud Storage!".getBytes(UTF_8));

Node.js

如需了解详情,请参阅 Cloud Storage Node.js API 参考文档

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const filename = 'Local file to upload, e.g. ./local/path/to/file.txt';

// Uploads a local file to the bucket
await storage.bucket(bucketName).upload(filename, {
  // Support for HTTP requests made with `Accept-Encoding: gzip`
  gzip: true,
  // By setting the option `destination`, you can change the name of the
  // object you are uploading to a bucket.
  metadata: {
    // Enable long-lived HTTP caching headers
    // Use only if the contents of the file will never change
    // (If the contents will change, use cacheControl: 'no-cache')
    cacheControl: 'public, max-age=31536000',
  },
});

console.log(`${filename} uploaded to ${bucketName}.`);

PHP

如需了解详情,请参阅 Cloud Storage PHP API 参考文档

use Google\Cloud\Storage\StorageClient;

/**
 * Upload a file.
 *
 * @param string $bucketName the name of your Google Cloud bucket.
 * @param string $objectName the name of the object.
 * @param string $source the path to the file to upload.
 *
 * @return Psr\Http\Message\StreamInterface
 */
function upload_object($bucketName, $objectName, $source)
{
    $storage = new StorageClient();
    $file = fopen($source, 'r');
    $bucket = $storage->bucket($bucketName);
    $object = $bucket->upload($file, [
        'name' => $objectName
    ]);
    printf('Uploaded %s to gs://%s/%s' . PHP_EOL, basename($source), $bucketName, $objectName);
}

Python

如需了解详情,请参阅 Cloud Storage Python API 参考文档

使用 Blob.upload_from_file()Blob.upload_from_filename()Blob.upload_from_string() 方法上传对象。
def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Uploads a file to the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)

    blob.upload_from_filename(source_file_name)

    print('File {} uploaded to {}.'.format(
        source_file_name,
        destination_blob_name))

Ruby

如需了解详情,请参阅 Cloud Storage Ruby API 参考文档

# project_id        = "Your Google Cloud project ID"
# bucket_name       = "Your Google Cloud Storage bucket name"
# local_file_path   = "Path to local file to upload"
# storage_file_path = "Path to store the file in Google Cloud Storage"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.bucket bucket_name

file = bucket.create_file local_file_path, storage_file_path

puts "Uploaded #{file.name}"

REST API

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 将文件数据添加到请求正文。
  3. 使用 cURL,通过 POST Object 请求调用 JSON API。对于 www.example.com 的索引页面:
    curl -X POST --data-binary @index.html \
        -H "Content-Type: text/html" \
        -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
        "https://www.googleapis.com/upload/storage/v1/b/www.example.com/o?uploadType=media&name=index.html"

如需详细了解如何使用 JSON API 上传对象,请参阅执行简单上传

XML API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 将对象的数据添加到请求正文。
  3. 使用 cURL,通过 PUT Object 请求调用 XML API。对于 www.example.com 的索引页面:
    curl -X PUT --data-binary @index.html \
        -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
        -H "Content-Type: text/html" \
        "https://storage.googleapis.com/www.example.com/index.html"

共享您的文件

您可以将存储分区中的所有文件设置为公开访问,也可以将各个对象设置为可通过您的网站访问。通常,这样可以更轻松,更快地访问存储分区中的所有文件。

如果您选择控制单个文件的可访问性,则可以为存储分区设置默认对象 ACL,以便在默认情况下共享后续上传到存储分区的文件。

推荐:分配专业的页面

您可以分配索引页面后缀(由 MainPageSuffix 属性控制)和自定义错误页面(由 NotFoundPage 属性控制)。分配任一个页面都是可选的,但如果没有索引页,则当用户访问您的顶级网站时,例如http://www.example.com,则无内容可以提供。

索引页面

索引页面(也称为网络服务器目录索引)是指当访问者请求访问的网址不具有关联文件时系统向其传送的一个文件。如果您分配了 MainPageSuffix,Cloud Storage 则会查找使用该名称且前缀与访问者请求访问的网址匹配的文件。

例如,假设您将静态网站的 MainPageSuffix 设置为 index.html。另外假设您的存储分区 www.example.com 中没有名为 directory 的文件。在这种情况下,如果用户请求访问网址 http://www.example.com/directory,Cloud Storage 则会尝试传送 www.example.com/directory/index.html 文件。如果该文件也不存在,Cloud Storage 则会返回错误页面。

MainPageSuffix 还可控制系统在用户请求访问顶级网站时传送的文件。继续上面的示例,如果用户请求访问 http://www.example.com,Cloud Storage 则会尝试传送文件 www.example.com/index.html

错误页面

错误页面是指当静态网站访问者请求访问的网址与现有文件不对应时系统向其返回的文件。如果您分配了 MainPageSuffix,那么仅当使用请求名称的文件和适用索引页面都不存在时,Cloud Storage 才会返回错误页面。

返回错误页面时,http 响应代码为 404NotFoundPage 属性控制充当错误页面的文件。如果您没有设置 NotFoundPage,用户则会收到一般错误页面。

设置 MainPageSuffixNotFoundPage

在以下示例中,MainPageSuffix 被设置为 index.htmlNotFoundPage 被设置为 404.html

Console

  1. 在 Google Cloud Platform Console 中打开 Cloud Storage 浏览器。
    打开 Cloud Storage 浏览器
  2. 在存储分区列表中,找到您所创建的存储分区。

  3. 点击该存储分区旁边的更多操作图标 更多操作图标。,并选择修改网站配置

  4. 配置网站对话框中,指定主页404(未找到)页面

  5. 点击保存

gsutil

使用 gsutil web set 命令设置 MainPageSuffix 属性(通过 -m)和 NotFoundPage(使用 -e 标志):

gsutil web set -m index.html -e 404.html gs://www.example.com

如果成功,此命令会返回以下内容:

Setting website config on gs://www.example.com/...

REST API

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建一个 .json 文件,以将 website 对象中的 mainPageSuffixnotFoundPage 属性设置为所需页面:
    {
    "website":{
    "mainPageSuffix": "index.html",
    "notFoundPage": "404.html"
    }
    }
  3. 使用 cURL,通过 PATCH Bucket 请求调用 JSON API。对 于 www.example.com:
    curl -X PATCH --data-binary @web-config.json \
     -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
     -H "Content-Type: application/json" \
     "https://www.googleapis.com/storage/v1/b/www.example.com"

XML API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建一个 .xml 文件,以将 WebsiteConfiguration 元素中的 MainPageSuffixNotFoundPage 元素设置为所需页面:
    <WebsiteConfiguration>
    <MainPageSuffix>index.html</MainPageSuffix>
    <NotFoundPage>404.html</NotFoundPage>
    </WebsiteConfiguration>
  3. 使用 cURL,通过 PUT Bucket 请求和 websiteConfig 查询字符串参数调用 XML API。对于 www.example.com:
    curl -X PUT --data-binary @web-config.xml \
        -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
        https://storage.googleapis.com/www.example.com?websiteConfig

测试网站

通过在浏览器中请求访问相应域名,您可以验证内容是否来源于相应存储分区。要实现此目的,您可以使用对象路径,也可以仅使用域名(如果设置了 MainPageSuffix 属性)。

例如,如果您的一个名为 test.html 的对象存储在名为 www.example.com 的存储分区中,请在您的浏览器中转至 www.example.com/test.html 以检查是否可以访问此对象。

清理

完成“托管静态网站”教程后,您可以清理在 GCP 上创建的资源,以避免这些资源占用配额,日后产生费用。以下部分介绍如何删除或关闭这些资源。

删除项目

要避免产生费用,最简单的方法是删除您为本教程创建的项目。

要删除项目,请执行以下操作:

  1. 在 GCP Console 中,转到“项目”页面。

    转到“项目”页面

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

删除存储分区

如果您不想删除整个项目,可删除用于托管您的网站的存储分区:

Console

  1. 在 Google Cloud Platform Console 中打开 Cloud Storage 浏览器。
    打开 Cloud Storage 浏览器
  2. 选中与要删除的存储分区对应的复选框。

  3. 点击删除

  4. 在出现的叠加窗口中,点击删除以确认要删除此存储分区及其内容。

gsutil

搭配使用 gsutil rm 命令和 -r 标志删除存储分区及其所含内容:

gsutil rm -r gs://www.example.com

响应类似于以下示例:

Removing gs://www.example.com/...

代码示例

C++

如需了解详情,请参阅 Cloud Storage C++ API 参考文档

namespace gcs = google::cloud::storage;
[](gcs::Client client, std::string bucket_name) {
  google::cloud::Status status = client.DeleteBucket(bucket_name);

  if (!status.ok()) {
    throw std::runtime_error(status.message());
  }

  std::cout << "The bucket " << bucket_name << " was deleted successfully.\n";
}

C#

如需了解详情,请参阅 Cloud Storage C# API 参考文档

private void DeleteBucket(string bucketName)
{
    var storage = StorageClient.Create();
    storage.DeleteBucket(bucketName);
    Console.WriteLine($"Deleted {bucketName}.");
}

Go

如需了解详情,请参阅 Cloud Storage Go API 参考文档

if err := client.Bucket(bucketName).Delete(ctx); err != nil {
	return err
}

Java

如需了解详情,请参阅 Cloud Storage Java API 参考文档

boolean deleted = bucket.delete(BucketSourceOption.metagenerationMatch());
if (deleted) {
  // the bucket was deleted
} else {
  // the bucket was not found
}

Node.js

如需了解详情,请参阅 Cloud Storage Node.js API 参考文档

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
 * TODO(developer): Uncomment the following line before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';

// Deletes the bucket
await storage.bucket(bucketName).delete();

console.log(`Bucket ${bucketName} deleted.`);

PHP

如需了解详情,请参阅 Cloud Storage PHP API 参考文档

use Google\Cloud\Storage\StorageClient;

/**
 * Delete a Cloud Storage Bucket.
 *
 * @param string $bucketName the name of the bucket to delete.
 *
 * @return void
 */
function delete_bucket($bucketName)
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);
    $bucket->delete();
    printf('Bucket deleted: %s' . PHP_EOL, $bucket->name());
}

Python

如需了解详情,请参阅 Cloud Storage Python API 参考文档

def delete_bucket(bucket_name):
    """Deletes a bucket. The bucket must be empty."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    bucket.delete()
    print('Bucket {} deleted'.format(bucket.name))

Ruby

如需了解详情,请参阅 Cloud Storage Ruby API 参考文档

# project_id  = "Your Google Cloud project ID"
# bucket_name = "Name of your Google Cloud Storage bucket to delete"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.bucket bucket_name

bucket.delete

puts "Deleted bucket: #{bucket.name}"

REST API

JSON API

请注意,您必须先清空存储分区,然后才能将其删除。

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 使用 cURL 调用 JSON API,将 [VALUES_IN_BRACKETS] 替换为适当的值:
    curl -X DELETE -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://www.googleapis.com/storage/v1/b/www.example.com"

如果成功,响应将包含 204 状态代码。

有关详情,请参阅存储分区:删除 JSON 参考页面。

XML API

请注意,您必须先清空存储分区,然后才能将其删除。

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 使用 cURL 调用 XML API,将 [VALUES_IN_BRACKETS] 替换为适当的值:
    curl -X DELETE -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://storage.googleapis.com/www.example.com"

有关详情,请参阅删除存储分区 XML 参考页面。

后续事项

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Storage
需要帮助?请访问我们的支持页面