Acquire / objectstore · All operations
Fetch from cloud storage
List or fetch from S3, GCS, Azure Blob, HDFS, FTP, SFTP.
Status
- In arcform
Not built yet
arcform does not do this yet. Its place on the roadmap
- Shape of the result
- a new table, from no input table
- Level
- needs an arcform operator
Variants
- Download files to a local path
Copy remote files or objects to a local folder for later steps to read.
Connect to a store as a file system
Open a connection to a store that downstream read and write steps then use.
List the objects in a store
Return one row per file or object in a bucket, folder or server, with its metadata.
Copy, rename or delete remote files
Copy, move, rename, check or delete files and folders in a remote store.
Read rows from files in cloud storage
Read the files at a cloud, Hadoop or file-transfer path straight into rows.
What other tools call it
Meridian's classification; an independent blind rating agreed on 86.2% of 312 rows (exact class, version 2).
Alteryx Designer (1)
Cloud file storage input connectors (family)read 2026-09-277 tools, one per store: Amazon S3 Download, Azure Data Lake File Input, Box, Dropbox, Google Drive, ...
Apache DataFusion (1)
CREATE EXTERNAL TABLEread 2026-09-27Register files on a local file system or object store as a named table
Apache Hop (3)
FTP deleteread 2026-09-27Delete files on an FTP or SFTP server
Get a file with FTPread 2026-09-27Download files from an FTP server
Get a file with SFTPread 2026-09-27Download files from an SFTP server
Apache NiFi (1)
Object and file store list and fetch processors (family)read 2026-09-2731 processors, one per store (S3, GCS, Azure Blob, ADLS, FTP, SFTP, SMB, Dropbox, Google Drive, Box, GridFS)
AWS Glue (1)
s3 connection type (source)read 2026-09-27Read from Amazon S3, in any of the supported data formats
Azure Data Factory (1)
Copy activity source data stores: File (family)read 2026-09-278 data stores usable as copy source: Amazon S3, Amazon S3 Compatible Storage, File System, FTP, …
Bruin (1)
ingestr: object store and file-transfer sources (family)read 2026-09-275 source pages: adls, gcs, s3, sftp, onelake
Duckle (5)
Azure Blob Storageread 2026-09-25read from Azure Blob Storage through DuckDB azure extension
Changed? (remote poll)read 2026-09-25poll remote object or listing metadata and emit a row only for what changed
FTPread 2026-09-25read from FTP through Rust FTP/SFTP client
Hugging Face datasetread 2026-09-25read a Hugging Face Hub dataset file or glob over hf://
Object storage sources via the httpfs extension (family)read 2026-09-255 components, one per system, run by DuckDB httpfs extension: s3, gcs, minio, r2, b2
EasyMorph (7)
Amazon S3 commandread 2026-09-27Upload, download or otherwise operate on files in Amazon S3
Azure Blob Storage commandread 2026-09-27Perform file and folder operations on Azure Blob Storage
Dropbox commandread 2026-09-27Perform file and folder operations on Dropbox
File transferread 2026-09-27Transfer files to or from a remote computer over SFTP or SCP
Google Drive commandread 2026-09-27Download or otherwise operate on files in Google Drive
OneDrive commandread 2026-09-27Perform file and folder operations on OneDrive
SharePoint commandread 2026-09-27Perform file and folder operations on SharePoint
KNIME Analytics Platform (8)
Google Drive Connectorread 2026-09-27Connect to Google Drive as a file system for downstream read and write nodes
KNIME Amazon Cloud Connectors (extension)read 2026-09-27Extension outside the base install: 3 current nodes: Amazon Authenticator; Amazon S3 Connector; Generic S3 Connector
KNIME Azure Cloud Connectors (extension)read 2026-09-27Extension outside the base install: 5 current nodes: Azure Blob Storage Connector; Azure Data Lake Storage Gen2 Connector, …
KNIME Box File Handling Extension (extension)read 2026-09-27Extension outside the base install: 2 current nodes: Box Authenticator; Box Connector
KNIME Google Cloud Storage Connection (extension)read 2026-09-27Extension outside the base install: 1 current node: Google Cloud Storage Connector
KNIME Server Connectorread 2026-09-27Connect to a KNIME Server repository as a file system over REST
SharePoint Connectorread 2026-09-27Connect to a SharePoint site as a file system for downstream read and write nodes
Space Connectorread 2026-09-27Provide a file-system connection to a KNIME Hub space
Pentaho Data Integration (3)
Catalog Inputread 2026-09-27Read the payload of a resource registered in Pentaho Data Catalog as rows
Query HCPread 2026-09-27Query a Hitachi Content Platform repository for objects, their URLs and system metadata
Read metadata from HCPread 2026-09-27Read a named annotation from a Hitachi Content Platform object found by URL path
Power Query M (1)
Cloud storage and Hadoop file functions (family)read 2026-09-2710 functions: AzureStorage.Blobs, AzureStorage.DataLake, AzureStorage.Tables, Hdfs.Files, HdInsight.Files
RapidMiner Studio (3)
Cloud storage Loop operators (family)read 2026-09-275 operators, one per store, each running a subprocess per file of a folder: S3, Azure Blob, ADLS Gen2, Google Storage, Google Drive
Cloud storage Read operators (family)read 2026-09-276 operators, one per store, each downloading a file: Amazon S3, Azure Blob, ADLS Gen2, Dropbox, Google Storage, Google Drive
Read SFTPread 2026-09-27Download a file from an SFTP server
Talend (8)
File store file management components (family)read 2026-09-2731 components copying, deleting, renaming or checking remote files: tS3Copy, tFTPDelete, tHDFSExist, tSCPRename
File store get components (family)read 2026-09-2713 components downloading files from a remote store: tS3Get, tFTPGet, tHDFSGet, tGSGet
File store input components (family)read 2026-09-274 components reading rows from files in a remote store: tHDFSInput, tAzureAdlsGen2Input, tBoxv2Input, tSambaInput
File store list components (family)read 2026-09-2711 components listing files or objects in a remote store: tS3List, tFTPFileList, tHDFSList, tGSList
tMongoDBGridFSDeleteread 2026-09-27Delete the files a query selects from MongoDB GridFS
tMongoDBGridFSGetread 2026-09-27Copy files from MongoDB GridFS to a local directory
tMongoDBGridFSListread 2026-09-27Iterate over the files a query selects in a MongoDB GridFS bucket
tMongoDBGridFSPropertiesread 2026-09-27Read the attributes of the files a query selects in MongoDB GridFS
VisiData (5)
s3 (URL loader)read 2026-09-23Fetch an Amazon S3 path or object
s3-download-rowread 2026-09-23Download the S3 file or directory in current row to a local path
s3-download-rowsread 2026-09-23Download selected S3 files and directories to a local path
s3-open-rowread 2026-09-23Open the S3 object or prefix in current row
s3-open-rowsread 2026-09-23Open the selected S3 objects or prefixes
Background
In DuckDB, the httpfs extension reads remote files, and on object storage using the Amazon Simple Storage Service (S3) interface it also writes and globs them.[1][2] Object storage manages data as objects rather than as a file hierarchy, and each object typically has metadata and a globally unique identifier.[3] The vast majority of cloud storage on the market uses an object-storage architecture, with Amazon S3 and Microsoft Azure Blob Storage among the examples.[3] The File Transfer Protocol (FTP) is a standard protocol for transferring computer files from a server to a client over a computer network.[4]
When to use it
In Amazon S3, a bucket is a container for objects, and an object key is the unique identifier for an object within a bucket.[5] Amazon S3 general purpose buckets have a flat structure, and the S3 console shows folders by grouping objects whose key names share a prefix.[6] When the S3 console creates a folder, S3 stores a 0-byte object whose key is the folder name followed by a forward slash.[6] A step that lists an S3 prefix should expect zero-byte objects whose keys end in a slash, and leave them out before reading anything. (Meridian's view)
In Amazon S3, a ListObjectsV2 request returns some or all of the objects in a bucket, up to 1,000 with each request.[7] A ListObjectsV2 response sets IsTruncated to true when more keys are available to return.[7] A listing that reads only its first response can miss objects, so check that the tool follows the listing to its end. (Meridian's view)
By default, a long-running DuckDB query re-reads an S3 object at whatever version is current at read time, which can change if the object is overwritten.[8] DuckDB's s3_version_id_pinning setting pins reads to one captured version of each object, so a query sees a consistent version even if the object is overwritten mid-query.[8] When files in a bucket may be replaced while a job runs, pin the version or copy the files first, so that every step reads the same bytes. (Meridian's view)
FTP users may authenticate with a plain-text sign-in protocol, normally in the form of a username and password.[4] For secure transmission that protects the username and password, FTP is often secured with an encryption layer (FTPS) or replaced with the SSH File Transfer Protocol (SFTP).[4] Where a server offers SFTP, prefer it to plain FTP. (Meridian's view)
The method
Object storage was proposed at Garth Gibson's Carnegie Mellon University lab as a research project in 1996.[3] Amazon Web Services launched Amazon S3 in the United States on March 14, 2006.[2] S3 offers a standard application programming interface (API) to read and write remote files, while regular web servers, which predate S3, offer no common write API.[8] The broad adoption of Amazon S3 has given rise to competing services based on the S3 API, such as Cloudian, Backblaze B2 and Wasabi.[2]
DuckDB's httpfs file system is tested with Amazon S3, Minio, Google Cloud and lakeFS, and other services that implement the S3 API should also work, though not all features may be supported.[8] In DuckDB, public file reads from S3 need range requests, private reads need secret key or session token authentication, file globs need ListObjectsV2 and writes need multipart upload.[8] DuckDB's preferred way to configure and authenticate to S3 endpoints is with secrets.[8] DuckDB implements file globbing on S3 with the ListObjectsV2 call, which allows filesystem-like glob patterns to match multiple files.[8] DuckDB's read_parquet takes a filename option that adds a column naming the file each row came from.[8] Keep the filename column when reading many files at once, so that each row can be traced back to the object it came from. (Meridian's view)
The original FTP specification was written by Abhay Bhushan and published on 16 April 1971.[4] FTP is built on a client–server model, using separate control and data connections between the client and the server.[4] The SSH File Transfer Protocol was designed by the Internet Engineering Task Force (IETF) as an extension of the Secure Shell protocol (SSH) version 2.0.[9] SFTP is not FTP run over SSH, but a new protocol designed from the ground up by an IETF working group.[9] An SFTP client's capabilities beyond transfer include resuming interrupted transfers, directory listings and remote file removal.[9]
Compared with the alternatives
Object storage was not designed to replace network-attached file access and sharing, and does not support the locking and sharing mechanisms needed to keep a single, accurately updated version of a file.[3] Object stores differ from key–value stores in attaching a set of attributes to each piece of data and in being optimised for large amounts of data, where a key–value store expects small values.[3] Treat a bucket as a place where whole files are published and fetched, not as a shared drive that several jobs edit at once. (Meridian's view)
Sources
- [1]httpfs Extension for HTTP and S3 Support – DuckDBdocumentation
- [2]Amazon S3 - Wikipediasecondary source
- [3]Object storage - Wikipediasecondary source
- [4]File Transfer Protocol - Wikipediasecondary source
- [5]What is Amazon S3? - Amazon Simple Storage Servicedocumentation
- [6]Organizing objects in the Amazon S3 console by using folders - Amazon Simple Storage Servicedocumentation
- [7]ListObjectsV2 - Amazon S3documentation
- [8]S3 API Support – DuckDBdocumentation
- [9]SSH File Transfer Protocol - Wikipediasecondary source