Print the website configuration for a bucket

Print the website configuration for a Cloud Storage bucket.

Code sample

C++

For more information, see the Cloud Storage C++ API reference documentation.

To authenticate to Cloud Storage, set up Application Default Credentials. For more information, see Set up authentication for client libraries.

namespace gcs = ::google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name) {
  StatusOr<gcs::BucketMetadata> bucket_metadata =
      client.GetBucketMetadata(bucket_name);
  if (!bucket_metadata) throw std::move(bucket_metadata).status();

  if (!bucket_metadata->has_website()) {
    std::cout << "Static website configuration is not set for bucket "
              << bucket_metadata->name() << "\n";
    return;
  }

  std::cout << "Static website configuration set for bucket "
            << bucket_metadata->name() << "\nThe main page suffix is: "
            << bucket_metadata->website().main_page_suffix
            << "\nThe not found page is: "
            << bucket_metadata->website().not_found_page << "\n";
}

PHP

For more information, see the Cloud Storage PHP API reference documentation.

To authenticate to Cloud Storage, set up Application Default Credentials. For more information, see Set up authentication for client libraries.

use Google\Cloud\Storage\StorageClient;

/**
 * Print the website configuration for a Cloud Storage bucket.
 *
 * @param string $bucketName The name of your Cloud Storage bucket.
 */
function print_bucket_website_configuration(string $bucketName): void
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);
    $info = $bucket->info();

    if (!array_key_exists('website', $info)) {
        printf('Bucket website configuration not set' . PHP_EOL);
    } else {
        printf(
            'Index page: %s' . PHP_EOL . '404 page: %s' . PHP_EOL,
            $info['website']['mainPageSuffix'],
            $info['website']['notFoundPage'],
        );
    }
}

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.