Statische Website hosten

In dieser Anleitung wird beschrieben, wie Sie einen Cloud Storage-Bucket konfigurieren, um eine statische Website für eine Domain, die Ihnen gehört, zu hosten. Statische Webseiten können clientseitige Technologien wie HTML, CSS und JavaScript enthalten. Sie können keine dynamischen Inhalte wie etwa serverseitige Skripts (z. B. PHP) enthalten. Weitere Informationen zu statischen Webseiten, wie Beispiele und Tipps, erhalten Sie unter Statische Website.

Diese Anleitung gilt auch für das Hosten statischer Inhalte für eine dynamische Website.

Ziele

In dieser Anleitung werden Sie:

  • Ihre Domain mithilfe eines CNAME-Eintrags auf Cloud Storage ausrichten.
  • einen Bucket erstellen, der mit Ihrer Domain verknüpft ist.
  • Dateien in Ihre Website hochladen und freigeben.
  • die Website testen.

Kosten

In dieser Anleitung wird die folgende kostenpflichtige Komponente der Cloud Platform verwendet:

  • Cloud Storage

Informationen zu den Gebühren, die beim Hosting einer statischen Website anfallen können, finden Sie im Tipp "Speicherkosten überwachen". Informationen zu Cloud Storage-Kosten erhalten Sie in der Preisübersicht.

Vorbereitung

  1. Melden Sie sich in Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, registrieren Sie sich hier für ein neues Konto.

  2. Wählen Sie ein Google Cloud Platform-Projekt aus oder erstellen Sie eines.

    Zur Seite "Ressourcen verwalten"

  3. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Platform-Projekt aktiviert ist.

    Informationen zum Aktivieren der Abrechnung

  4. Besitzen oder verwalten Sie eine Domain? Falls Sie noch keine Domain haben, können Sie über viele Dienste wie Google Domains eine neue Domain registrieren.

    Diese Anleitung nutzt die Domain example.com.

  5. Sie müssen der Inhaber oder Verwalter der Domain sein, die Sie verwenden möchten. Verifizieren Sie die Top-Level-Domain, z. B. example.com, und nicht eine Subdomain, z. B. www.example.com.

    Hinweis: Wenn Sie die Domain besitzen, die Sie einem Bucket zuordnen, haben Sie diesen Schritt möglicherweise bereits in der Vergangenheit durchgeführt. Wenn Sie Ihre Domain über Google Domains erworben haben, erfolgt die Überprüfung automatisch.

CNAME-Eintrag erstellen

Ein CNAME-Eintrag ist ein DNS-Datensatztyp. Mit diesem Eintrag wird Traffic, mit dem eine URL Ihrer Domain angefordert wird, an die Ressourcen, die Sie bereitstellen möchten, weitergeleitet, in diesem Fall Objekte in Ihren Cloud Storage-Buckets. Für www.example.com könnte der CNAME-Eintrag die folgenden Informationen enthalten:

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

Weitere Informationen zu CNAME-Weiterleitungen finden Sie unter URI für CNAME-Aliasing.

So stellen Sie die Verbindung Ihrer Domain mit Cloud Storage her:

  1. Erstellen Sie einen CNAME-Eintrag, der auf c.storage.googleapis.com. verweist.

    Ihr Domainregistrierungsdienst sollte Ihnen die Möglichkeit bieten, Ihre Domain zu verwalten und unter anderem auch einen CNAME-Eintrag hinzuzufügen. Wenn Sie beispielsweise Google Domains verwenden, lesen Sie die Anleitung zum Hinzufügen eines CNAME-Datensatzes auf der Hilfeseite von Google Domains.

Bucket erstellen

Erstellen Sie einen Bucket, dessen Name mit dem CNAME übereinstimmt, den Sie für Ihre Domain erstellt haben.

Wenn Sie beispielsweise einen CNAME-Datensatz hinzugefügt haben, der www.example.com auf c.storage.googleapis.com. verweist, erstellen Sie einen Bucket mit dem Namen "www.example.com".

So erstellen Sie einen Bucket:

Console

  1. Öffnen Sie in der Google Cloud Platform Console den Cloud Storage-Browser.
    Cloud Storage-Browser öffnen
  2. Klicken Sie auf Bucket erstellen.

  3. Geben Sie im Dialogfeld Bucket erstellen Folgendes an:

    • den Namen des Buckets

    • die Speicherklasse für den Bucket: Multi-Regional

    • den Standort des Buckets: USA

  4. Klicken Sie auf Erstellen.

Wenn der Vorgang erfolgreich war, werden Sie zur Seite des Buckets mit dem Text "Es befinden sich keine Objekte in diesem Bucket." weitergeleitet.

gsutil

Verwenden Sie den Befehl gsutil mb:

gsutil mb gs://www.example.com

Wenn der Vorgang erfolgreich ist, gibt der Befehl Folgendes zurück:

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

Codebeispiele

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur 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#

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.

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

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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 APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Erstellen Sie eine JSON-Datei, die dem name-Attribut Ihren Websitenamen zuweist:
  3. {
    "name": "www.example.com"
    }
  4. Verwenden Sie cURL, um die JSON API aufzurufen. Für 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. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL zum Aufrufen der XML API, um einen Bucket mit Ihrem Websitenamen zu erstellen. Für 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"

Dateien meiner Website hochladen

So fügen Sie Ihrem Bucket die Dateien hinzu, die auf Ihrer Website bereitgestellt werden sollen:

Console

  1. Öffnen Sie in der Google Cloud Platform Console den Cloud Storage-Browser.
    Cloud Storage-Browser öffnen
  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie erstellt haben.

  3. Klicken Sie auf dem Tab Objekte auf die Schaltfläche Dateien hochladen.

  4. Gehen Sie im Dateidialogfeld zur gewünschten Datei und wählen Sie sie aus.

Wenn der Upload abgeschlossen wurde, sollten Sie im Bucket den Dateinamen, die Dateigröße, den Dateityp und das Datum der letzten Änderung sehen.

Beispiel: Ein Bucket mit zwei Dateien, index.html und 404.html, wird in der GCP Console so angezeigt:

Bucket-Website-Beispiel.
Beispiel für einen als Website konfigurierten Bucket.

gsutil

Kopieren Sie mit dem Befehl gsutil cp Dateien in Ihren Bucket. Um beispielsweise die Datei index.html von ihrem aktuellen Speicherort Desktop zu kopieren, verwenden Sie:

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

Wenn der Vorgang erfolgreich ist, gibt der Befehl Folgendes zurück:

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

Codebeispiele

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur 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#

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.

Verwenden Sie die Methode Blob.upload_from_file(), Blob.upload_from_filename() oder Blob.upload_from_string(), um ein Objekt hochzuladen.
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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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 APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Fügen Sie die Dateidaten in den Anfragetext ein.
  3. Verwenden Sie cURL, um die JSON API mit einer POST-Objektanfrage aufzurufen. Für die Indexseite von 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"

Weitere Informationen zum Hochladen von Objekten mit der JSON API finden Sie unter Einfache Uploads ausführen.

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Fügen Sie die Daten des Objekts in den Anfragetext ein.
  3. Verwenden Sie cURL, um die XML API mit einer PUT-Objektanfrage aufzurufen. Für die Indexseite von 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"

Dateien freigeben

Sie können entweder alle Dateien in Ihrem Bucket öffentlich zugänglich machen oder Zugriff auf bestimmte Objekte über Ihre Website erteilen. Generell geht es einfacher und schneller, alle Dateien in Ihrem Bucket zugänglich zu machen.

Wenn Sie den Zugriff auf einzelne Dateien steuern möchten, können Sie die Standardobjekt-ACL für den Bucket so festlegen, dass nachfolgend in den Bucket hochgeladene Dateien standardmäßig freigegeben werden.

Empfohlen: Spezialseiten zuweisen

Sie können ein Indexseitensuffix zuweisen, das von der Property MainPageSuffix und einer benutzerdefinierten Fehlerseite gesteuert wird, die wiederum von der Property NotFoundPage gesteuert wird. Beide Zuweisungen sind optional. Ohne eine Indexseite wird jedoch nichts angezeigt, wenn Nutzer auf Ihre übergeordnete Website zugreifen, wie etwa http://www.example.com.

Indexseiten

Eine Indexseite (auch als Webserververzeichnisindex bezeichnet) ist eine Datei, die Besuchern bereitgestellt wird, wenn diese eine URL ohne zugehörige Datei anfordern. Wenn Sie ein MainPageSuffix zuweisen, sucht Cloud Storage nach einer Datei mit diesem Namen, dessen Präfix der vom Besucher angeforderten URL entspricht.

Angenommen, Sie legen für Ihre statische Website das MainPageSuffix auf index.html fest. Zusätzlich haben Sie keine Datei namens directory in Ihrem Bucket www.example.com. Wenn ein Nutzer in diesem Fall die URL http://www.example.com/directory anfordert, versucht Cloud Storage, die Datei www.example.com/directory/index.html bereitzustellen. Wenn auch diese Datei nicht vorhanden ist, gibt Cloud Storage eine Fehlerseite zurück.

Das MainPageSuffix steuert auch die Datei, die bereitgestellt wird, wenn Nutzer die Top-Level-Site anfordern. Wenn das oben genannte Beispiel weitergeführt wird und ein Nutzer http://www.example.com anfordert, versucht Cloud Storage, die Datei www.example.com/index.html bereitzustellen.

Fehlerseite

Die Fehlerseite ist die Datei, die an Besucher Ihrer statischen Website zurückgegeben wird, die eine URL anfordern, die keiner vorhandenen Datei entspricht. Wenn Sie ein MainPageSuffix zugewiesen haben, gibt Cloud Storage nur dann die Fehlerseite zurück, wenn weder eine Datei mit dem angeforderten Namen noch eine entsprechende Indexseite vorhanden ist.

Wenn eine Fehlerseite zurückgegeben wird, lautet der HTTP-Antwortcode 404. Die Property, die steuert, welche Datei als Fehlerseite fungiert, ist NotFoundPage. Wenn Sie NotFoundPage nicht festlegen, wird Nutzern eine generische Fehlerseite angezeigt.

MainPageSuffix und NotFoundPage festlegen

In dem folgenden Beispiel wird das MainPageSuffix auf index.html und NotFoundPage auf 404.html gesetzt:

Console

  1. Öffnen Sie in der Google Cloud Platform Console den Cloud Storage-Browser.
    Cloud Storage-Browser öffnen
  2. Suchen Sie in der Liste der Buckets den Bucket, den Sie erstellt haben.

  3. Klicken Sie auf das Dreipunkt-Menü (Symbol "Weitere Aktionen".) neben dem Bucket und wählen Sie Websitekonfiguration bearbeiten aus.

  4. Geben Sie im Dialogfeld Website konfigurieren die Hauptseite und die Seite 404 (nicht gefunden) an.

  5. Klicken Sie auf Speichern.

gsutil

Verwenden Sie den Befehl gsutil web set, um das Attribut MainPageSuffix mit dem Flag -m und NotFoundPage mit dem Flag -e festzulegen:

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

Wenn der Vorgang erfolgreich ist, gibt der Befehl Folgendes zurück:

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

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Erstellen Sie eine JSON-Datei, die die Attribute mainPageSuffix und notFoundPage in einem website-Objekt auf die gewünschten Seiten festlegt:
    {
    "website":{
    "mainPageSuffix": "index.html",
    "notFoundPage": "404.html"
    }
    }
  3. Verwenden Sie cURL, um die JSON API mit einer PATCH-Bucketanfrage aufzurufen. Für 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. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Erstellen Sie eine XML-Datei, die die Elemente MainPageSuffix und NotFoundPage in einem WebsiteConfiguration-Element auf die gewünschten Seiten festlegt:
    <WebsiteConfiguration>
    <MainPageSuffix>index.html</MainPageSuffix>
    <NotFoundPage>404.html</NotFoundPage>
    </WebsiteConfiguration>
  3. Verwenden Sie cURL, um die XML API mit einer PUT-Bucketanfrage und einem websiteConfig-Abfragestringparameter aufzurufen. Für 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

Website testen

Überprüfen Sie, ob der Inhalt des Buckets bereitgestellt wird, indem Sie den Domainnamen in einem Browser anfordern. Sie können dies mit einem Pfad zu einem Objekt oder nur mit dem Domainnamen tun, wenn Sie die Property MainPageSuffix festlegen.

Wenn Sie beispielsweise ein Objekt namens test.html in einem Bucket namens www.example.com gespeichert haben, überprüfen Sie die Zugänglichkeit, indem Sie in Ihrem Browser zu www.example.com/test.html gehen.

Bereinigen

Nachdem Sie die Anleitung "Statische Website hosten" abgeschlossen haben, bereinigen Sie die auf der GCP erstellten Ressourcen. Somit vermeiden Sie, dass diese Kontingente belegen und Ihnen in Zukunft in Rechnung gestellt werden. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.

So löschen Sie das Projekt:

  1. Rufen Sie in der GCP Console die Seite Projekte auf.

    Zur Seite Projekte

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen delete.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.

Bucket löschen

Wenn Sie nicht das gesamte Projekt löschen möchten, löschen Sie den Bucket, den Sie für das Hosten Ihrer Website verwendet haben:

Console

  1. Öffnen Sie in der Google Cloud Platform Console den Cloud Storage-Browser.
    Cloud Storage-Browser öffnen
  2. Klicken Sie das Kästchen neben dem Bucket, der gelöscht werden soll, an.

  3. Klicken Sie auf Löschen.

  4. Bestätigen Sie im eingeblendeten Fenster, dass Sie diesen Bucket und seinen Inhalt löschen möchten, indem Sie auf Löschen klicken.

gsutil

Verwenden Sie den Befehl gsutil rm mit dem Flag -r, um den Bucket und dessen Inhalte zu löschen:

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

Die Antwort sieht in etwa so aus:

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

Codebeispiele

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur 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#

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.

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

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.

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

Java

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

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

Node.js

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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

Weitere Informationen finden Sie in der Referenzdokumentation zur 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 APIs

JSON API

Beachten Sie, dass nur leere Buckets gelöscht werden können.

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die JSON API aufzurufen. Ersetzen Sie [VALUES_IN_BRACKETS] dabei durch die entsprechenden Werte:
    curl -X DELETE -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://www.googleapis.com/storage/v1/b/www.example.com"

Bei Erfolg enthält die Antwort den Statuscode 204.

Weitere Informationen finden Sie auf der JSON-Referenzseite Buckets: delete.

XML API

Beachten Sie, dass nur leere Buckets gelöscht werden können.

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die XML API aufzurufen. Ersetzen Sie [VALUES_IN_BRACKETS] dabei durch die entsprechenden Werte:
    curl -X DELETE -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        "https://storage.googleapis.com/www.example.com"

Weitere Informationen finden Sie auf der XML-Referenzseite Bucket löschen.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...