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
Resource naming and labels
📖 Scenario: You are managing cloud resources for a small company. To keep things organized, you need to name your resources clearly and add labels that describe their purpose and environment.
🎯 Goal: Create a Google Cloud Storage bucket with a proper name and add labels to it for environment and team ownership.
📋 What You'll Learn
Create a bucket name variable with the exact name 'company-data-prod'.
Create a labels dictionary with keys 'environment' and 'team' and values 'production' and 'analytics' respectively.
Use the Google Cloud Storage client to create a bucket with the given name and labels.
Ensure the bucket creation code includes the labels in the bucket metadata.
💡 Why This Matters
🌍 Real World
In real cloud projects, naming resources clearly and adding labels helps teams find, manage, and automate resources easily.
💼 Career
Cloud engineers and administrators use naming conventions and labels daily to organize resources and control costs.
Progress0 / 4 steps
1
Create the bucket name variable
Create a variable called bucket_name and set it to the string 'company-data-prod'.
GCP
Hint
Use simple assignment to create the variable bucket_name.
2
Create the labels dictionary
Create a dictionary called labels with the exact keys and values: 'environment': 'production' and 'team': 'analytics'.
GCP
Hint
Use curly braces to create the dictionary with the exact keys and values.
3
Import the storage client and initialize it
Import storage from google.cloud and create a client instance called storage_client.
GCP
Hint
Use from google.cloud import storage and then create storage.Client().
4
Create the bucket with labels
Use storage_client to create a bucket with the name bucket_name. Set the bucket's labels property to the labels dictionary before creating it with storage_client.create_bucket().
GCP
Hint
Create a bucket object, assign labels, then call create_bucket with it.
Practice
(1/5)
1. What is the main purpose of labels in Google Cloud Platform (GCP)?
easy
A. To organize and filter cloud resources using key-value pairs
B. To set the resource's IP address
C. To define the resource's billing account
D. To encrypt the resource data
Solution
Step 1: Understand what labels do in GCP
Labels are simple key-value pairs attached to resources to help organize and filter them easily.
Step 2: Compare options with label purpose
Only To organize and filter cloud resources using key-value pairs correctly describes labels as tools for organization and filtering.
Final Answer:
To organize and filter cloud resources using key-value pairs -> Option A
Quick Check:
Labels = Organize and filter resources [OK]
Hint: Labels are for organizing and filtering resources [OK]
Common Mistakes:
Confusing labels with IP or billing settings
Thinking labels encrypt data
Assuming labels set resource addresses
2. Which of the following is a valid resource name in GCP?
easy
A. my-instance-01
B. My_Instance_01
C. instance@01
D. instance 01
Solution
Step 1: Recall GCP resource naming rules
Resource names must be lowercase letters, numbers, and hyphens only, no spaces or special characters.
Step 2: Check each option
my-instance-01 uses lowercase letters, numbers, and hyphens correctly. Options A, B, and C contain uppercase letters, spaces, special characters, or underscores, which are invalid.
Final Answer:
my-instance-01 -> Option A
Quick Check:
Valid names use lowercase, numbers, hyphens only [OK]
Hint: Valid names use only lowercase letters, numbers, and hyphens [OK]
Common Mistakes:
Using uppercase letters in names
Including spaces or special characters
Using underscores instead of hyphens
3. Given these labels on a VM instance: {"env":"prod", "team":"alpha", "priority":"high"}, which filter will correctly select this instance?
medium
A. labels.env = "dev" OR labels.priority = "low"
B. labels.priority = "medium"
C. labels.team = "beta"
D. labels.env = "prod" AND labels.team = "alpha"
Solution
Step 1: Understand the instance's labels
The instance has labels: env=prod, team=alpha, priority=high.
Step 2: Evaluate each filter
labels.env = "prod" AND labels.team = "alpha" matches env=prod and team=alpha, so it selects the instance. Options A, C, and D do not match the instance's labels.
Final Answer:
labels.env = "prod" AND labels.team = "alpha" -> Option D
Quick Check:
Filter matches labels exactly [OK]
Hint: Match filter keys and values exactly to labels [OK]
Common Mistakes:
Using wrong label keys or values
Mixing AND/OR incorrectly
Assuming partial matches select resource
4. You try to create a GCP resource with the name my_resource_01 but get an error. What is the likely cause?
medium
A. Resource names cannot start with a letter
B. Underscores are not allowed in resource names
C. Resource names must be uppercase
D. Resource names must contain spaces
Solution
Step 1: Recall resource naming restrictions
GCP resource names allow only lowercase letters, numbers, and hyphens. Underscores are not allowed.
Step 2: Analyze the given name
The name contains underscores, which violates the naming rules, causing the error.
Final Answer:
Underscores are not allowed in resource names -> Option B
Quick Check:
Underscores invalid in names [OK]
Hint: Avoid underscores; use hyphens instead [OK]
Common Mistakes:
Thinking uppercase letters are required
Assuming names must start with numbers
Believing spaces are allowed
5. You want to organize your GCP resources by environment and project. Which is the best way to do this using naming and labels?
hard
A. Use labels only for billing, not for environment or project
B. Use random resource names and no labels
C. Use resource names like prod-db-01 and labels {"env":"prod", "project":"sales"}
D. Use resource names with spaces and no labels
Solution
Step 1: Understand best practices for naming and labeling
Resource names should be descriptive and labels should add metadata for filtering and organization.
Step 2: Evaluate options for organizing by environment and project
Use resource names like prod-db-01 and labels {"env":"prod", "project":"sales"} uses clear naming and labels for environment and project, making management easy. Other options ignore labels or use invalid names.
Final Answer:
Use resource names like prod-db-01 and labels {"env":"prod", "project":"sales"} -> Option C
Quick Check:
Descriptive names + labels = best organization [OK]
Hint: Combine clear names with labels for best organization [OK]