Requester Pays is an optional Google setting for data stored on the Google Cloud Platform. It allows dataset owners to make data accessible to everyone without having to pay every time someone reads or copies the data from a different region.
This article explains what to expect in Terra when interacting with data in a requester pays bucket. Note that there are no future plans to enable the requester pays option on workspaces or buckets created on Terra. This is solely a guide to help Terra users when they encounter data that is already in a requester pays bucket.
- What is requester pays?
- How to access requester pays data
- Charges for which you are responsible
- What happens when you leave a workspace with requester pays data enabled
What is requester pays?
In general, accessing data in a bucket in Google Cloud will generate an associated charge. These actions include:
- Performing a request
- Reading data
- Retrieving data
- Storing data
In the default setting (without requester pays enabled), these costs are charged to the Google Billing Account that was used to create the bucket (the owner of the data, in other words). However, in some cases, data custodians will want to host data without being on the hook for every costly action taken in the bucket they are publicly hosting.
When Requester Pays is enabled, the host of the data only pays for data storage. Other costs are charged to the user accessing the data.
How to access requester pays data
When you try to access data in a bucket or workspace that has Requester Pays enabled, Terra will alert you with one of the three following pop-up windows. The alert you will see depends on which options are available to you.
1. With an active Billing Project
If you have a Billing Project to which you can charge any costs you incur, you will see a pop-up with a drop-down menu allowing you to select the Billing Project that should be charged:
2. With free credits
If you don't have a Billing Project you can use, but you are still eligible for free credits, the pop-up will prompt you to activate your free credit account:
3. With a new Billing Project
If you have already used your free credits but have not yet set up your own Billing Project, the pop-up will direct you to the Billing section, where you can set up your account (as described here):
4. With gsutil
So long as you can provide a project to bill, you can run a gsutil cp command on an object in a requester pays bucket, and you can run this command in a notebook, in a workflow, or on the command line:
gsutil -u <project_to_bill> cp <gs://path/to/file> <destination>
A note of caution: If you are mistaken about the bucket in question being a "Requester Pays" bucket and use this command, you may inadvertently charge the bucket owner for the egress.
Charges for which you are responsible
The following operations within a Requester Pays workspace generate charges for which the you, the requester, are responsible:
- Listing files in the “Files” section of the Data tab
- Previewing files in the Data tab (either from the “Files” section or an entity table)
- Downloading files in the Data tab (either from the “Files” section or an entity table)
- Listing notebooks in the “Notebooks” tab
- Getting a read-only preview of a notebook
- Launching a notebook for editing (if you have can-compute permission on the workspace)
- Copying a notebook to another workspace
- Copying notebooks when cloning a workspace
What happens when you leave a requester pays workspace
Please note that when you leave a Requester Pays workspace, the Billing Project selection you made will be cleared, and the next time you enter that workspace, you will be prompted to select a Billing Project again.