Bird
Raised Fist0
GCPcloud~20 mins

Creating buckets and uploading objects in GCP - Practice Exercises

Choose your learning style10 modes available

Start learning this pattern below

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
Challenge - 5 Problems
🎖️
Cloud Storage Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
service_behavior
intermediate
2:00remaining
What happens when you upload an object to a non-existent bucket?

You try to upload a file to a Google Cloud Storage bucket that does not exist. What is the expected outcome?

AThe upload succeeds and the bucket is created automatically.
BThe upload succeeds but the object is stored in a default bucket.
CThe upload is queued until the bucket is created manually.
DThe upload fails with a 'Not Found' error indicating the bucket does not exist.
Attempts:
2 left
💡 Hint

Think about how cloud storage services handle resources that must exist before use.

Configuration
intermediate
2:00remaining
Which command creates a bucket with uniform access control?

You want to create a Google Cloud Storage bucket with uniform bucket-level access enabled. Which gsutil command achieves this?

Agsutil mb -l us-central1 gs://my-bucket/ && gsutil uniformbucketlevelaccess set on gs://my-bucket/
Bgsutil mb -l us-central1 -b off gs://my-bucket/
Cgsutil mb -l us-central1 -b on gs://my-bucket/
Dgsutil mb -l us-central1 -b on --uniform gs://my-bucket/
Attempts:
2 left
💡 Hint

Uniform bucket-level access must be set after bucket creation using a separate gsutil command.

Architecture
advanced
2:00remaining
Which bucket location type minimizes latency for users in multiple continents?

You are designing a storage solution for a global app with users in North America, Europe, and Asia. Which bucket location type should you choose to minimize latency?

AMulti-region bucket
BRegion bucket located in us-central1
CDual-region bucket in us-central1 and us-east1
DRegion bucket located in europe-west1
Attempts:
2 left
💡 Hint

Think about how data location affects access speed globally.

security
advanced
2:00remaining
What is the effect of enabling 'Requester Pays' on a bucket?

You enable 'Requester Pays' on a Google Cloud Storage bucket. What changes in billing behavior occur?

AThe bucket owner pays for all data access and egress costs.
BThe requester pays for data access and egress costs when accessing objects.
CAll costs are waived for both requester and owner.
DThe bucket owner pays only for storage costs, not access costs.
Attempts:
2 left
💡 Hint

Consider who is charged when data is accessed from a bucket with this feature.

Best Practice
expert
3:00remaining
What is the recommended approach to securely upload objects from a client app without exposing service account keys?

You want users of your mobile app to upload files directly to a Google Cloud Storage bucket securely, without embedding service account keys in the app. What is the best practice?

AEmbed service account keys in the app and use them to upload directly.
BMake the bucket public so anyone can upload files without authentication.
CUse signed URLs generated by a backend service to allow temporary upload access.
DRequire users to authenticate with OAuth and upload using their own credentials.
Attempts:
2 left
💡 Hint

Think about how to grant limited, temporary access without sharing sensitive keys.

Practice

(1/5)
1. What is the main purpose of creating a bucket in Google Cloud Storage?
easy
A. To manage user permissions
B. To organize and store files in the cloud
C. To create databases
D. To run virtual machines

Solution

  1. Step 1: Understand what a bucket is

    A bucket is a container in cloud storage used to hold files or objects.
  2. Step 2: Identify the purpose of buckets

    Buckets help organize and store files safely in the cloud for easy access and management.
  3. Final Answer:

    To organize and store files in the cloud -> Option B
  4. Quick Check:

    Bucket = Storage container [OK]
Hint: Buckets hold files in cloud storage, not run machines [OK]
Common Mistakes:
  • Confusing buckets with virtual machines
  • Thinking buckets create databases
  • Mixing buckets with user permission tools
2. Which command correctly creates a new bucket named my-bucket in Google Cloud Storage using the gcloud tool?
easy
A. gcloud storage buckets create my-bucket
B. gcloud create bucket my-bucket
C. gsutil mb gs://my-bucket
D. gcloud storage create-bucket my-bucket

Solution

  1. Step 1: Recall the gcloud syntax for bucket creation

    The correct syntax is gcloud storage buckets create [BUCKET_NAME].
  2. Step 2: Match the command with the correct syntax

    gcloud storage buckets create my-bucket matches the correct syntax exactly.
  3. Final Answer:

    gcloud storage buckets create my-bucket -> Option A
  4. Quick Check:

    gcloud storage buckets create = create bucket [OK]
Hint: Use 'gcloud storage buckets create' to make buckets [OK]
Common Mistakes:
  • Using 'gcloud create bucket' which is invalid syntax
  • Confusing gsutil command with gcloud syntax
  • Adding hyphens incorrectly in command
3. What will be the result of running this command?
gsutil cp file.txt gs://example-bucket/
medium
A. Downloads file.txt from example-bucket
B. Deletes file.txt from local storage
C. Creates a new bucket named example-bucket
D. Uploads file.txt to the example-bucket in Google Cloud Storage

Solution

  1. Step 1: Understand the gsutil cp command

    The gsutil cp command copies files between local and cloud storage.
  2. Step 2: Analyze the command arguments

    It copies file.txt from local to the bucket gs://example-bucket/, uploading the file.
  3. Final Answer:

    Uploads file.txt to the example-bucket in Google Cloud Storage -> Option D
  4. Quick Check:

    gsutil cp local-to-bucket = upload [OK]
Hint: gsutil cp localfile gs://bucket = upload file [OK]
Common Mistakes:
  • Thinking cp deletes local files
  • Assuming it creates buckets automatically
  • Confusing upload with download direction
4. You tried to upload a file using gsutil cp myfile.txt gs://my-bucket/ but got an error saying the bucket does not exist. What is the most likely fix?
medium
A. Run the command with sudo
B. Rename the file to match the bucket name
C. Create the bucket first using gsutil mb gs://my-bucket
D. Delete the file and try again

Solution

  1. Step 1: Understand the error cause

    The error means the bucket my-bucket does not exist in cloud storage.
  2. Step 2: Fix by creating the bucket

    You must create the bucket first using gsutil mb gs://my-bucket before uploading files.
  3. Final Answer:

    Create the bucket first using gsutil mb gs://my-bucket -> Option C
  4. Quick Check:

    Bucket missing? Create it first [OK]
Hint: Create bucket before upload to avoid errors [OK]
Common Mistakes:
  • Trying to upload without bucket creation
  • Changing file name instead of bucket
  • Using sudo unnecessarily
5. You want to create a bucket named data-archive in the us-central1 region with versioning enabled to keep old versions of files. Which sequence of commands achieves this?
hard
A. gsutil mb -l us-central1 gs://data-archive && gsutil versioning set on gs://data-archive
B. gcloud storage buckets create data-archive --location=us-central1 && gcloud storage buckets update data-archive --versioning-enabled
C. gcloud storage buckets create data-archive --region=us-central1 && gcloud storage buckets enable-versioning data-archive
D. gsutil create bucket data-archive us-central1 && gsutil enable versioning gs://data-archive

Solution

  1. Step 1: Create bucket with location using gsutil

    The command gsutil mb -l us-central1 gs://data-archive creates the bucket in the correct region.
  2. Step 2: Enable versioning on the bucket

    The command gsutil versioning set on gs://data-archive turns on versioning to keep old file versions.
  3. Final Answer:

    gsutil mb -l us-central1 gs://data-archive && gsutil versioning set on gs://data-archive -> Option A
  4. Quick Check:

    Create bucket + enable versioning with gsutil [OK]
Hint: Use gsutil mb and gsutil versioning set on for versioned buckets [OK]
Common Mistakes:
  • Using wrong flags like --region instead of -l
  • Trying to enable versioning with wrong commands
  • Mixing gcloud and gsutil commands incorrectly