Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Buckets and objects concept
📖 Scenario: You are working on a cloud project where you need to organize files in Google Cloud Storage. You will create a storage bucket and add objects (files) to it. This is like creating a folder in your computer and putting files inside it.
🎯 Goal: Create a Google Cloud Storage bucket named my-sample-bucket and add three objects named file1.txt, file2.txt, and file3.txt to this bucket.
📋 What You'll Learn
Create a bucket named my-sample-bucket
Create a list of object names: file1.txt, file2.txt, file3.txt
Use a configuration variable to hold the bucket location as us-central1
Write code to add each object to the bucket
Add a final configuration to set the bucket's storage class to STANDARD
💡 Why This Matters
🌍 Real World
Cloud storage buckets organize and store files in the cloud, similar to folders on your computer.
💼 Career
Understanding buckets and objects is essential for managing cloud storage in roles like cloud engineer or developer.
Progress0 / 4 steps
1
Create the bucket dictionary
Create a dictionary called bucket with the key name set to the string "my-sample-bucket".
GCP
Hint
Think of the bucket as a dictionary with a name key.
2
Create the list of objects and location config
Create a list called objects containing the strings "file1.txt", "file2.txt", and "file3.txt". Then create a variable called location and set it to the string "us-central1".
GCP
Hint
Use a list for objects and a simple string variable for location.
3
Add objects to the bucket
Create a new key objects in the bucket dictionary and set it to an empty list. Then use a for loop with the variable obj to iterate over the objects list and append each obj to bucket["objects"].
GCP
Hint
Think of adding files inside the bucket as adding items to a list inside the dictionary.
4
Set the bucket storage class
Add a new key storage_class to the bucket dictionary and set it to the string "STANDARD".
GCP
Hint
Storage class is a simple key-value pair in the bucket dictionary.
Practice
(1/5)
1. What is a bucket in Google Cloud Storage?
easy
A. A database for storing records
B. A type of virtual machine
C. A container that holds your files (objects) in the cloud
D. A network firewall rule
Solution
Step 1: Understand the role of buckets
Buckets are used to organize and store files in cloud storage.
Step 2: Differentiate buckets from other services
Unlike virtual machines or databases, buckets specifically hold files called objects.
Final Answer:
A container that holds your files (objects) in the cloud -> Option C
Quick Check:
Bucket = container for files [OK]
Hint: Buckets hold files; think of them as folders in the cloud [OK]
Common Mistakes:
Confusing buckets with virtual machines
Thinking buckets are databases
Mixing buckets with network settings
2. Which command correctly creates a new bucket named my-bucket in Google Cloud Storage using the gcloud CLI?
easy
A. gcloud storage buckets create my-bucket
B. gcloud create bucket my-bucket
C. gcloud storage create-bucket my-bucket
D. gcloud bucket create my-bucket
Solution
Step 1: Recall the correct gcloud syntax for bucket creation
The correct command uses 'gcloud storage buckets create' followed by the bucket name.
Step 2: Compare options to syntax
Only gcloud storage buckets create my-bucket matches the correct syntax exactly.
Final Answer:
gcloud storage buckets create my-bucket -> Option A
B. Uploads a file named 'file.txt' with content 'Hello World' to 'my-bucket'
C. Deletes the file 'file.txt' from 'my-bucket'
D. Downloads the file 'file.txt' from 'my-bucket'
Solution
Step 1: Analyze the code actions
The code gets an existing bucket 'my-bucket', creates a blob (file) named 'file.txt', and uploads the string 'Hello World' as its content.
Step 2: Match code behavior to options
It uploads a file with given content, so Uploads a file named 'file.txt' with content 'Hello World' to 'my-bucket' is correct.
Final Answer:
Uploads a file named 'file.txt' with content 'Hello World' to 'my-bucket' -> Option B
Quick Check:
blob.upload_from_string uploads content to bucket [OK]
Hint: upload_from_string means upload file content as string [OK]
Common Mistakes:
Thinking it creates a bucket
Confusing upload with download
Assuming it deletes the file
4. You run the command gsutil cp file.txt gs://my-bucket/ but get an error saying the bucket does not exist. What is the most likely cause?
medium
A. The file 'file.txt' does not exist locally
B. The gsutil command is misspelled
C. You do not have permission to read 'file.txt'
D. The bucket 'my-bucket' was not created yet
Solution
Step 1: Understand the error message
The error says the bucket does not exist, so the problem is with the bucket, not the file.
Step 2: Identify the cause
If the bucket was not created, gsutil cannot copy files there, causing the error.
Final Answer:
The bucket 'my-bucket' was not created yet -> Option D
Quick Check:
Bucket must exist before uploading files [OK]
Hint: Bucket must exist before copying files there [OK]
Common Mistakes:
Assuming local file missing causes bucket error
Blaming permissions without checking bucket existence
Thinking gsutil command is wrong
5. You want to organize files by year inside a bucket named archive-bucket. Which object name structure best supports easy retrieval of files from 2023?
hard
A. "2023/report.pdf"
B. "report_2023.pdf"
C. "archive-bucket/2023/report.pdf"
D. "/2023/report.pdf"
Solution
Step 1: Understand object naming in buckets
Objects are stored inside buckets with names that can include slashes to simulate folders.
Step 2: Evaluate naming options for organization
"2023/report.pdf" uses a folder-like prefix '2023/' which helps group files by year inside the bucket.
Step 3: Eliminate incorrect options
"report_2023.pdf" mixes year in filename, less organized; C repeats bucket name in object; D starts with slash which is invalid.
Final Answer:
"2023/report.pdf" -> Option A
Quick Check:
Use folder-like prefixes for organization [OK]
Hint: Use folder-like prefixes (e.g., '2023/') in object names [OK]