Bird
Raised Fist0
GCPcloud~20 mins

Storage transfer service in GCP - Practice Problems & Coding Challenges

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
🎖️
Storage Transfer Service Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
service_behavior
intermediate
2:00remaining
Understanding Storage Transfer Service Scheduling

You configure a Storage Transfer Service job to run daily at 2 AM UTC. The source is an AWS S3 bucket, and the destination is a Google Cloud Storage bucket. What happens if the job fails at 2 AM due to network issues?

AThe job automatically retries later the same day until it succeeds.
BThe job immediately retries continuously until it succeeds or is manually stopped.
CThe job retries only once after 1 hour and then stops if it fails again.
DThe job does not retry and waits until the next scheduled run the following day.
Attempts:
2 left
💡 Hint

Think about how scheduled jobs typically behave when they fail at their scheduled time.

Configuration
intermediate
2:00remaining
Configuring Transfer Options for Data Integrity

You want to ensure that files transferred from an AWS S3 bucket to a Google Cloud Storage bucket using Storage Transfer Service are not corrupted during transfer. Which transfer option should you enable?

AEnable 'Verify checksum' to check data integrity after transfer.
BEnable 'Delete source files after transfer' to avoid duplicates.
CEnable 'Overwrite objects at destination' to replace existing files.
DEnable 'Transfer only new files' to skip existing files.
Attempts:
2 left
💡 Hint

Data integrity means making sure the file is exactly the same after transfer.

Architecture
advanced
2:00remaining
Designing a Cross-Cloud Backup Solution

You need to design a backup solution that transfers data daily from an on-premises NAS to Google Cloud Storage using Storage Transfer Service. The NAS supports SMB protocol only. Which architecture component is required to enable this transfer?

ASet up a Storage Transfer Service agent on-premises to enable access to the SMB share.
BUse a Google Cloud Storage Transfer Appliance to physically move data to the cloud.
CConfigure Storage Transfer Service to directly access the SMB share as a source.
DMount the SMB share on a VM in Google Cloud and use Storage Transfer Service from that VM.
Attempts:
2 left
💡 Hint

Storage Transfer Service supports certain sources natively. Think about how to get SMB data into a supported source.

security
advanced
2:00remaining
Securing Access for Storage Transfer Service

You want to restrict Storage Transfer Service so it can only access a specific Google Cloud Storage bucket and no other resources in your project. Which IAM role and permission setup is the most secure and appropriate?

AGrant the Storage Admin role on the project to the Storage Transfer Service service account.
BGrant the Storage Transfer Service Agent role on the entire project to the service account.
CGrant the Storage Object Admin role only on the specific bucket to the Storage Transfer Service service account.
DGrant the Owner role on the specific bucket to the Storage Transfer Service service account.
Attempts:
2 left
💡 Hint

Least privilege principle means giving only the permissions needed.

Best Practice
expert
3:00remaining
Optimizing Large Data Transfers with Storage Transfer Service

You have a 50 TB dataset in an AWS S3 bucket that you need to transfer to Google Cloud Storage as quickly and cost-effectively as possible using Storage Transfer Service. Which approach follows best practices?

ARun a single Storage Transfer Service job with default settings to transfer all data at once.
BSplit the dataset into smaller prefixes and create multiple parallel Storage Transfer Service jobs for each prefix.
CUse Storage Transfer Service with the 'Delete source files after transfer' option enabled to save storage costs.
DTransfer the data during peak hours to maximize network bandwidth availability.
Attempts:
2 left
💡 Hint

Think about how parallelism and workload division affect transfer speed and reliability.

Practice

(1/5)
1. What is the primary purpose of the Google Cloud Storage Transfer Service?
easy
A. To move or copy data between different storage locations automatically
B. To create backups of virtual machines
C. To monitor network traffic between cloud services
D. To manage user permissions in Google Cloud

Solution

  1. Step 1: Understand the service function

    Storage Transfer Service is designed to move or copy data between storage locations like on-premises, AWS S3, or Google Cloud Storage.
  2. Step 2: Eliminate unrelated options

    Options B, C, and D describe different services unrelated to data transfer.
  3. Final Answer:

    To move or copy data between different storage locations automatically -> Option A
  4. Quick Check:

    Storage Transfer Service = Data movement [OK]
Hint: Remember: Transfer Service moves or copies data [OK]
Common Mistakes:
  • Confusing transfer service with backup or monitoring tools
  • Thinking it manages user permissions
  • Assuming it only works within Google Cloud
2. Which of the following is the correct way to specify a source in a Storage Transfer Service job configuration?
easy
A. "source": {"network": {"subnet": "default"}}
B. "source": {"vmInstance": {"name": "instance-1"}}
C. "source": {"gcsDataSource": {"bucketName": "my-source-bucket"}}
D. "source": {"sqlDatabase": {"dbName": "mydb"}}

Solution

  1. Step 1: Identify valid source types

    Storage Transfer Service supports sources like Google Cloud Storage buckets, AWS S3 buckets, or on-premises data.
  2. Step 2: Match correct JSON syntax for GCS source

    The correct syntax uses "gcsDataSource" with a "bucketName" field, as shown in "source": {"gcsDataSource": {"bucketName": "my-source-bucket"}}.
  3. Final Answer:

    "source": {"gcsDataSource": {"bucketName": "my-source-bucket"}} -> Option C
  4. Quick Check:

    Source config for GCS = "source": {"gcsDataSource": {"bucketName": "my-source-bucket"}} [OK]
Hint: Look for "gcsDataSource" with bucketName for GCS source [OK]
Common Mistakes:
  • Using unsupported source types like VM or SQL database
  • Incorrect JSON structure for source
  • Confusing source with destination fields
3. Given this Storage Transfer Service schedule configuration snippet:
{"schedule": {"scheduleStartDate": {"year": 2024, "month": 6, "day": 10}, "startTimeOfDay": {"hours": 3, "minutes": 0}}}

When will the transfer job start?
medium
A. At 3:00 AM on June 10, 2024
B. At 3:00 PM on June 10, 2024
C. At midnight on June 10, 2024
D. At 3:00 AM on June 9, 2024

Solution

  1. Step 1: Read the scheduleStartDate and startTimeOfDay

    The date is June 10, 2024, and the time is 3 hours and 0 minutes, which means 3:00 AM.
  2. Step 2: Confirm time format

    The time is in 24-hour format, so 3 means 3 AM, not PM.
  3. Final Answer:

    At 3:00 AM on June 10, 2024 -> Option A
  4. Quick Check:

    3 hours = 3 AM, date matches [OK]
Hint: Hours in 24-hour format; 3 means 3 AM [OK]
Common Mistakes:
  • Mistaking 3 for 3 PM instead of 3 AM
  • Ignoring the date and assuming current day
  • Confusing startTimeOfDay with duration
4. You wrote this Storage Transfer Service job configuration but the transfer never starts:
{"transferJob": {"status": "ENABLED", "schedule": {"scheduleStartDate": {"year": 2024, "month": 7, "day": 20}, "startTimeOfDay": {"hours": 25, "minutes": 0}}}}

What is the problem?
medium
A. The transferJob status should be DISABLED to start
B. The scheduleStartDate is in the past
C. The minutes value must be 30 or 60
D. The startTimeOfDay hours value is invalid; it must be between 0 and 23

Solution

  1. Step 1: Check startTimeOfDay values

    The hours field is set to 25, which is invalid because valid hours range from 0 to 23.
  2. Step 2: Validate other fields

    The scheduleStartDate is a future date, status is ENABLED which is correct, and minutes is 0 which is valid.
  3. Final Answer:

    The startTimeOfDay hours value is invalid; it must be between 0 and 23 -> Option D
  4. Quick Check:

    Hours must be 0-23, 25 is invalid [OK]
Hint: Hours must be 0-23; 25 is invalid [OK]
Common Mistakes:
  • Assuming status DISABLED starts the job
  • Thinking minutes must be 30 or 60
  • Ignoring invalid hour value
5. You want to transfer data daily from an AWS S3 bucket to a Google Cloud Storage bucket using Storage Transfer Service. Which combination of settings is required?
hard
A. Set GCS bucket as source, AWS S3 as destination, and schedule weekly
B. Set AWS S3 as source with access keys, GCS bucket as destination, and schedule daily
C. Use on-premises source with VPN, GCS bucket as destination, and schedule once
D. Set AWS S3 as source without credentials, GCS bucket as destination, and no schedule

Solution

  1. Step 1: Identify source and destination

    The source is AWS S3 bucket, which requires access keys for authentication. The destination is a Google Cloud Storage bucket.
  2. Step 2: Set schedule for daily transfers

    To transfer data daily, the schedule must be configured to run every day.
  3. Final Answer:

    Set AWS S3 as source with access keys, GCS bucket as destination, and schedule daily -> Option B
  4. Quick Check:

    AWS S3 source + credentials + daily schedule = Set AWS S3 as source with access keys, GCS bucket as destination, and schedule daily [OK]
Hint: AWS S3 needs keys; schedule daily for repeated transfers [OK]
Common Mistakes:
  • Forgetting AWS credentials
  • Reversing source and destination
  • Not setting a schedule for repeated transfers