Bird
Raised Fist0
GCPcloud~10 mins

Requester pays configuration in GCP - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to enable requester pays on a GCP bucket.

GCP
gsutil [1] set on gs://my-bucket
Drag options to blanks, or click blank then click option'
Alogging
Biam
Cversioning
Drequesterpays
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'iam' instead of 'requesterpays' will not enable requester pays.
Using 'logging' or 'versioning' commands are unrelated.
2fill in blank
medium

Complete the code to download an object from a requester pays bucket.

GCP
gsutil -u [1] cp gs://my-bucket/my-object.txt ./
Drag options to blanks, or click blank then click option'
Amy-billing-project
Bbilling-project
Crequester-project
Dmy-project
Attempts:
3 left
💡 Hint
Common Mistakes
Using generic terms like 'billing-project' instead of the actual project ID.
Omitting the -u flag causes access errors.
3fill in blank
hard

Fix the error in the gsutil command to enable requester pays on a bucket.

GCP
gsutil [1] set on gs://my-bucket
Drag options to blanks, or click blank then click option'
Arequester_pays
Brequester-pays
Crequesterpays
DrequesterPays
Attempts:
3 left
💡 Hint
Common Mistakes
Using dashes or underscores causes command not found errors.
Capital letters are not used in this command.
4fill in blank
hard

Fill both blanks to set the billing project and copy an object from a requester pays bucket.

GCP
gsutil -u [1] cp gs://my-bucket/[2] ./
Drag options to blanks, or click blank then click option'
Amy-billing-project
Bmy-object.txt
Cother-object.txt
Dbilling-project
Attempts:
3 left
💡 Hint
Common Mistakes
Using placeholder text instead of actual project or object names.
Swapping the order of project ID and object name.
5fill in blank
hard

Fill all three blanks to enable requester pays, set the billing project, and copy an object.

GCP
gsutil [1] set on gs://my-bucket && gsutil -u [2] cp gs://my-bucket/[3] ./
Drag options to blanks, or click blank then click option'
Arequesterpays
Bmy-billing-project
Cdata.csv
Denable
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'enable' instead of 'requesterpays' for the first command.
Forgetting to specify the billing project with -u.
Using wrong object names.

Practice

(1/5)
1. What does enabling Requester Pays on a Google Cloud Storage bucket do?
easy
A. It makes the bucket owner pay for all data access costs.
B. It disables public access to the bucket.
C. It makes the user accessing the data pay for the access costs.
D. It encrypts the data in the bucket automatically.

Solution

  1. Step 1: Understand Requester Pays concept

    Requester Pays shifts the cost of data access from the bucket owner to the user who requests the data.
  2. Step 2: Identify the cost responsibility

    When enabled, the user accessing the bucket pays for network and operation costs, not the owner.
  3. Final Answer:

    It makes the user accessing the data pay for the access costs. -> Option C
  4. Quick Check:

    Requester Pays = user pays [OK]
Hint: Requester Pays means user pays for data access costs [OK]
Common Mistakes:
  • Thinking bucket owner always pays
  • Confusing with access permissions
  • Assuming it encrypts data
2. Which command correctly enables Requester Pays on a bucket named my-data-bucket?
easy
A. gsutil set requesterpay gs://my-data-bucket on
B. gsutil requester-pays enable gs://my-data-bucket
C. gsutil enable requester-pays gs://my-data-bucket
D. gsutil requesterpay set on gs://my-data-bucket

Solution

  1. Step 1: Recall the correct gsutil syntax

    The correct command to enable Requester Pays is gsutil requesterpay set on followed by the bucket URL.
  2. Step 2: Match the command with the bucket name

    gsutil requesterpay set on gs://my-data-bucket uses the exact syntax and bucket name correctly.
  3. Final Answer:

    gsutil requesterpay set on gs://my-data-bucket -> Option D
  4. Quick Check:

    Correct gsutil syntax = gsutil requesterpay set on gs://my-data-bucket [OK]
Hint: Use 'gsutil requesterpay set on' to enable Requester Pays [OK]
Common Mistakes:
  • Using incorrect command verbs like 'enable'
  • Misplacing 'requesterpay' keyword
  • Wrong order of command arguments
3. Given a bucket with Requester Pays enabled, which gsutil command will successfully copy a file named data.csv from the bucket gs://example-bucket to your local machine?
medium
A. gsutil cp --requester-pays gs://example-bucket/data.csv ./
B. gsutil cp gs://example-bucket/data.csv ./
C. gsutil cp --enable-requester-pays gs://example-bucket/data.csv ./
D. gsutil cp --requesterpay gs://example-bucket/data.csv ./

Solution

  1. Step 1: Understand Requester Pays access requirement

    When accessing a Requester Pays bucket, the user must include the --requester-pays flag in the gsutil command.
  2. Step 2: Identify the correct flag usage

    gsutil cp --requester-pays gs://example-bucket/data.csv ./ uses the correct flag --requester-pays with the copy command.
  3. Final Answer:

    gsutil cp --requester-pays gs://example-bucket/data.csv ./ -> Option A
  4. Quick Check:

    Use --requester-pays flag to access Requester Pays buckets [OK]
Hint: Add --requester-pays flag to gsutil commands for Requester Pays buckets [OK]
Common Mistakes:
  • Omitting the --requester-pays flag
  • Using incorrect flag names
  • Assuming normal commands work without flags
4. You try to download a file from a Requester Pays bucket without the --requester-pays flag and get an error. What is the most likely fix?
medium
A. Use a different gsutil version.
B. Add the --requester-pays flag to your gsutil command.
C. Change the bucket permissions to public.
D. Disable Requester Pays on the bucket.

Solution

  1. Step 1: Identify cause of error

    Accessing a Requester Pays bucket without the --requester-pays flag causes permission errors because the user is not accepting cost responsibility.
  2. Step 2: Apply the correct fix

    Adding the --requester-pays flag tells Google Cloud you accept the charges, fixing the error.
  3. Final Answer:

    Add the --requester-pays flag to your gsutil command. -> Option B
  4. Quick Check:

    Missing --requester-pays flag causes errors [OK]
Hint: Add --requester-pays flag to fix access errors [OK]
Common Mistakes:
  • Trying to disable Requester Pays without permission
  • Changing bucket permissions unnecessarily
  • Assuming gsutil version causes this error
5. You manage a public dataset bucket with Requester Pays enabled. A user complains they cannot access data using the Google Cloud Console UI. What is the best advice to help them access the data?
hard
A. Tell them to use gsutil with the --requester-pays flag for data access.
B. Advise them to disable Requester Pays on the bucket.
C. Instruct them to request access permissions from the bucket owner.
D. Suggest they use the Cloud Console without any special flags.

Solution

  1. Step 1: Understand Requester Pays impact on access methods

    Requester Pays requires users to explicitly accept cost responsibility, usually via command flags like --requester-pays or a confirmation prompt in the UI.
  2. Step 2: Identify supported access methods

    While the Cloud Console UI supports Requester Pays with a billing-enabled project and charge acceptance prompt, recommend gsutil with the --requester-pays flag as a reliable alternative when facing UI access issues.
  3. Final Answer:

    Tell them to use gsutil with the --requester-pays flag for data access. -> Option A
  4. Quick Check:

    Use gsutil + --requester-pays for Requester Pays buckets [OK]
Hint: Use gsutil with --requester-pays for reliable access to Requester Pays buckets [OK]
Common Mistakes:
  • Assuming Console UI works without project billing enabled
  • Telling users to disable Requester Pays
  • Confusing permissions with billing flags