This document summarizes the differences between agent-based transfers and agentless transfers. See Sources and sinks for a list of which transfers require agents.
| Feature | Agentless transfers | Agent-based transfers | Notes | 
|---|---|---|---|
| Agents and agent pools | No | Required | Transfers involving file systems, including HDFS, or S3-compatible storage, require agents with root access to the file system. Agents are grouped together and managed with agent pools. See Manage agent pools to get started. | 
| Bandwidth control | Not supported | Supported. Set limits across all transfers in the project in MB/s increments. | See Manage network bandwidth. | 
| Event-driven transfers | Supported from Cloud Storage and AWS S3. See Event-driven transfers. | Not supported. | |
| Transfer specific files by manifest | Supported. | Supported. | See Transfer specific files or objects using a manifest. | 
| Transfer logs | Supported through Cloud Logging. See Cloud Logging for Storage Transfer Service. | Supported through Cloud Logging as well as file system transfer logs. | |
| Cloud Monitoring | Supported. | Supported. | See Monitor transfer jobs. | 
| Name-based source data filtering | Supported. See Filter by prefix. | Not supported | To specify a subset of files for an agent-based transfer, create a separate staging directory with only the files you intend to transfer, and start a transfer job with that directory as the source. | 
| Modified-time source-data filtering | Supported. | Not supported. | To specify a subset of files for an agent-based transfer, create a separate staging directory with only the files you intend to transfer, and start a transfer job with that directory as the source. |