A Google Storage Bucket is a cloud storage solution that allows you to store and serve large amounts of data, such as images, videos, and documents, from Google's global network of data centers.
Google Storage Buckets are highly scalable, so you can store and manage vast amounts of data without worrying about running out of space.
Each Google Storage Bucket has a unique name, and you can use this name to access and manage the bucket and its contents.
Google Storage Buckets are accessible from anywhere in the world, making it easy to share data with others or access it from different locations.
A Google Storage Bucket can be used to store and serve static web content, such as images and videos, which can improve the performance of your website.
Related reading: How to Manage Google Storage
Creating a Bucket
Creating a bucket is a straightforward process that requires some basic information. You'll need to provide a unique name for your bucket, which must start and end with a letter or number.
To get started, select "Browser" in the left-hand menu and click on "CREATE BUCKET". Then, enter a unique bucket name that meets the requirements. Names must start and end with a letter or number, and you can find a full list of bucket name requirements elsewhere.
Next, pick a storage class. Storage class affects performance, cost, and location, so choose one that meets your needs. All classes offer high availability and low latency, and you can learn more about storage classes if you're unsure.
You'll also need to pick a location to store your data. To reduce latency, choose a location that's close to the services that need access to your data.
Bucket Settings
You can set the CORS configuration on a Google Storage bucket using the `setCorsConfiguration` method. This will overwrite the existing configuration with the new value passed in.
To set the CORS configuration, you'll need to pass in an array of `Cors` objects, which contain properties such as `maxAgeSeconds`, `method`, `origin`, and `responseHeader`.
Here are some key properties to consider when setting CORS configuration:
You can also enable logging functionality for your bucket using the `enableLogging` method, which will make two API requests to grant Cloud Storage WRITE permission and set the appropriate configuration on the bucket's metadata.
Set Metadata
Setting metadata for your bucket is a straightforward process. You can use the `setMetadata` method to set the bucket's metadata, which is an object that contains various properties.
The `metadata` object you provide can contain any number of key-value pairs. One of the properties you can set is the `duration`, which specifies the minimum retention time for all objects contained in the bucket in seconds.
If you need to get the current metadata, you can call the `getMetadata` method, but keep in mind that it's not guaranteed to be up-to-date. To get the latest record, you should call the `getMetadata` method.
You can also enable logging functionality for your bucket using the `enableLogging` method, which makes two API requests to grant Cloud Storage WRITE permission to the bucket and set the appropriate configuration on the Bucket's metadata.
Related reading: Object Storage Google
Here's a summary of the metadata methods:
Each of these methods returns a promise, which you can use to handle the result of the operation. For example, if you call `setMetadata`, it will return a promise that resolves to a `SetBucketMetadataResponse` object.
Enable Requester Pays
Enabling requester pays allows you, the bucket owner, to have the requesting user assume the charges for accessing your bucket and its contents.
This functionality is enabled through the `enableRequesterPays` method, which takes an `optionsOrCallback` parameter.
The `optionsOrCallback` parameter can be either a callback function or precondition options, both of which are optional.
To enable requester pays, you'll need to provide the `optionsOrCallback` parameter, which can be a callback function or precondition options.
Here's an example of how to enable requester pays:
The `enableRequesterPays` method returns a promise that resolves to an `EnableRequesterPaysResponse` object.
By enabling requester pays, you can have the requesting user bear the costs of accessing your bucket and its contents.
Remove Retention Period
Removing a retention policy from a bucket is a straightforward process. You can use the removeRetentionPeriod method to achieve this.
This method takes two optional parameters: callback and options. The callback function is called after the operation is complete, while the options parameter allows you to specify precondition options.
To remove a retention policy, the bucket must not be locked. If it is locked, you won't be able to remove the policy.
Here's a summary of the removeRetentionPeriod method:
The removeRetentionPeriod method returns a Promise that resolves to a SetBucketMetadataResponse object.
Frequently Asked Questions
Is Google Storage Bucket free?
Google Storage Bucket offers 5 GiB of free US regional storage per month, with no charges against your credits. However, additional usage-based charges may apply for data processing and transfer.
What is a bucket in Google Cloud Storage?
In Google Cloud Storage, a bucket is a basic container that holds your data, serving as a top-level organizer for your files and folders. Buckets provide a way to manage access and organization, but unlike directories, they cannot be nested.
What is the difference between a bucket and an object in cloud storage?
In cloud storage, a bucket is a container that holds multiple objects, while an object is a single item stored within a bucket. Think of it like a file cabinet (bucket) holding many files (objects), each with its own unique name and location.
Sources
- https://googleapis.dev/nodejs/storage/latest/Bucket.html
- https://cloud.google.com/storage/docs/json_api/v1/buckets
- https://support.google.com/cloud/answer/6250993
- https://bluexp.netapp.com/blog/object-storage-block-and-shared-file-storage-in-google-cloud
- https://en.wikipedia.org/wiki/Google_Cloud_Storage
Featured Images: pexels.com